mina_mesh

Crates.iomina_mesh
lib.rsmina_mesh
version0.1.0-beta.2
sourcesrc
created_at2024-10-04 15:58:38.05137
updated_at2024-11-22 14:36:24.690906
descriptionA Rust Server Implementation of the Mesh Spec for Mina
homepage
repository
max_upload_size
id1396732
size3,000,025
Mina Foundation (mf-infra)

documentation

README

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 mina_mesh@0.1.0-beta.1

# 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.

Commit count: 0

cargo fmt