A DAO focused blockchain explorer, built on StreamingFast Substreams.
- Install
substreams
cli - Install postgres sink
- Optionally install Docker and
docker-compose
to run a PostresQL database container.
- Obtain a StreamingFast API Key and set the
SUBSTREAMS_API_TOKEN
with thesftoken
command. - Create a
frens.yaml
file to define the DAO to be indexed, or copy one from theexamples/
directory. Seefrens.yaml
section for specification.
cp examples/citydao.yaml ./frens.yaml
- Start the database:
docker-compose up
- Build the substream:
make build
- Prepare the database:
make setup_postgres
- Start indexing:
make sink_postgres
WARNING This project is a work in progress and the file format is subject to change
frens.yaml
is a file which enumerates all of the Ethereum accounts belonging to a dApp or DAO.
The file has two main sections: treasury_accounts
and tokens_issued
.
---
version: 0.1.0 # frens.yaml specification version
name: DAO Name
treasury_accounts:
- name: Treasury account
address: 0x........
network: mainnet # Optional, defaults to mainnet
tokens_issued:
- name: DAO Token
address: 0x.......
network: mainnet # Optional, defaults to mainnet
schema: erc20 # Supported: erc20, erc721, erc1155
- This substream was written before StreamingFast released the ETH Balance changes substream and ERC20 Balance change substream. This substream will be re-written to take adavantage of these.
- There is no UI for the substream data at this time.
- Only one network is currently supported
- Roll-back of forked blocks in not currently supported. The postgres-sink tails the chain head by 12 blocks in order to avoid forks.
Apache