Skip to content

(WIP) An implementation of the Coinbase Mesh specification for the Mina blockchain.

License

Notifications You must be signed in to change notification settings

MinaFoundation/MinaMesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.