TESTNET ONLINE: PECORINO PECORINO

signet-rpc

What’s in this crate?

  • RpcCtx a struct managing the DB handle, subscriptions, filters, etc.
  • The router() function will create a complete ajj::Router.
  • serve_* family of methods allow quick setup of the RPC server.

This is a work in progress. The RPC server is fully functional, but a few things are missing.

  • The following namespaces are not well-supported yet:
    • admin_
    • debug_
    • trace_
    • signet_

This crate is intended to be used as part of a complete [reth] node. It is incredibly difficult to use this crate without a full reth node, as it requires a database handle and access to host configuration. If you are interested in doing that, let us know we think it’d be cool.

Signet’s RPC server draws heavily on reth’s data types, and borrows code from reth’s RPC handler logic. However, we make a few design decisions that are unique to Signet:

  • The following endpoints are disabled
    • wallet-related endpoints like eth_sign. Good Riddance.
    • p2p-related endpoints like eth_listening. Signet has no peer.
    • mining-related endpoints like eth_mining. Signet needs no miners.
    • txpool-related endpoints like eth_txpool_content. Signet wants no txpool.
    • uncle-related endpoints like eth_getUncleByBlockHashAndIndex. Signet knows no family.
    • trie-related endpoints like eth_getProof. Signet grows no tries.
  • Filters and subscriptions have been rewritten from the ground up.
  • Bundle-related endpoints (WIP) use signet bundles from the signet-bundle crate.