Skip to content

Latest commit

 

History

History
63 lines (42 loc) · 1.88 KB

README.md

File metadata and controls

63 lines (42 loc) · 1.88 KB

Mina Mesh

Mina Mesh is an implementation of the Coinbase Mesh specification for the Mina blockchain.

Note: Mina Mesh is WIP and should not yet be used in production.

Installation

Ensure you have the Rust toolchain installed. If you do not, see installation instructions here.

# Install
cargo install [email protected]

# Confirm installation
mina-mesh --help

Note: the version specifier is necessary when installing from the beta release channel. The latest version can be found on mina_mesh's crates.io page.

Environment

The server depends on several environment variables.

  • MINAMESH_PROXY_URL: a Mina proxy (GraphQL) endpoint. The default is https://mainnet.minaprotocol.network/graphql.

  • MINAMESH_ARCHIVE_DATABASE_URL: a connection string referencing a Mina archive database.

  • MINAMESH_GENESIS_BLOCK_IDENTIFIER_HEIGHT and MINAMESH_GENESIS_BLOCK_IDENTIFIER_STATE_HASH: we can retrieve these using the fetch-genesis-block-identifier command.

    mina-mesh fetch-genesis-block-identifier >> .env

Instantiate the Server

mina-mesh serve --playground

Note: the presence of the --playground flag enables the serving of an OpenAPI playground in response to GET /. To disable this endpoint, omit the --playground flag.

Visit http://0.0.0.0:3000 for an interactive playground with which you can explore and test endpoints.

Code of Conduct

Everyone interacting in this repo is expected to follow the code of conduct.

Contributing

Contributions are welcome and appreciated! Check out the contributing guide before you dive in.

License

Mina Mesh is Apache licensed.