zeroDAO Logo

Updated zeroDAO SDK Released

Published On: 8/17/2022

Updated zeroDAO SDK released

The zeroDAO project repository now includes all sources, including orchestration files for running your own keeper!

An organized approach

Our codebase has been made public at

https://github.com/zerodao-finance/zerodao

In this repository, the zeroDAO framework has been ported to TypeScript and rearchitected with more modular design principles. Files useful for orchestrating signalling servers for your own zerop2p network are located in the root of the project and can be run with docker-compose. It is possible to run your own keepers independent of zerop2p mainnet, for those wishing to host bridging/meta-transaction services on a private circuit.

For those looking to simply run a keeper to relay transaction payloads, a Dockerfile is located at the root of the project and can be started if an environment variable WALLET is passed in, set to the private key of your keeper wallet.

The library functionality of the repository is organized similar to the ethers.js codebase, for those who are familiar. The subpackages in the project are as follows:

Libraries:

  • @zerodao/common
  • @zerodao/chains
  • @zerodao/p2p
  • @zerodao/compute
  • @zerodao/logger
  • @zerodao/protocol
  • @zerodao/request
  • @zerodao/utils
  • @zerodao/buffer

Keeper subprocesses:

  • @zerodao/keeper
  • @zerodao/pending
  • @zerodao/dispatcher
  • @zerodao/watcher

Bundled SDK

  • @zerodao/sdk

Keeper subprocesses are all started with the pm2-apps.json configuration file located at the root of the project, or can be started in supervisord within the Docker image provided in the repo.

Integrators seeking to add zeroDAO bridging functionality to their dApp can do so conveniently with the @zerodao/sdk module. Some example usage is provided in the README.md

For those looking to hack on the zerop2p protocol, the ZeroP2P class in @zerodao/p2p can be extended to create browser applications with a functional p2p stack (using webRTC). zerop2p is effectively a configuration of libp2p which can be used in the browser in fully decentralized architectures.

  • flex

Contact Us

BridgeTwitterDiscordMatrixGitHub | Website

Back to all blog posts