Matmo
  • Ⓜ️Matmo
  • πŸš€Mainnet
  • πŸͺ™Token
  • πŸ›‘οΈAudit
  • 🎁Presale
    • πŸ’°Wallet and Buy
    • πŸ“ˆToken price
    • πŸ’ΈBonuses and Discounts
    • πŸ‘«Referral program
    • πŸ€VCS & Angel Investors
  • 🎦Marketing
  • πŸ”’Economics
  • πŸ“»RoadMap
  • πŸ“šDOCS
    • πŸ•ΈοΈWeb3
    • πŸ“’Concepts
    • ↗️Account
    • βš’οΈBlocks
    • πŸ”€Transactions
    • ♨️Gas and Transaction Fees
    • βš–οΈStaking
    • πŸ‘ΊNFT
    • 🏦Swap
    • πŸ•Governance
    • πŸŒ‰Bridging assets
    • πŸ•ŽRun a Validator
      • πŸ“³Run a Fullnode
    • ⛓️API
    • πŸ“€SDK
    • πŸ‘ΎValidator
  • πŸ«‚Team
  • πŸ‘«Community
    • Twitter
    • Telegram Channel
    • Telegram group I
    • Telegram group II
    • Telegram group III
    • Medium
Powered by GitBook
On this page
  • Overview
  • Deployment overview
  • Hardware requirements​
  • Node Configuration
  1. DOCS
  2. Run a Validator

Run a Fullnode

PreviousRun a ValidatorNextAPI

Last updated 10 months ago

Overview

In the matmo , full nodes can be run by anyone. Full nodes re-execute all in the history of the matmo blockchain.

Full nodes replicate the entire state of the blockchain by synchronizing with upstream participants. To verify the blockchain state, a full node receives the transaction set and the accumulator hash root of the ledger signed by the validator. Additionally, full nodes accept transactions submitted by matmo clients and forward them to #validators. Full nodes and validators share the same code.

Deployment overview

Node configuration deployment consists of two core components:

Rollup Node, responsible for deriving blocks from and passing them to the execution engine. It also participates in a peer-to-peer network that synchronizes uncommitted blocks as the orderer creates them. We call this component matmo-node . Execution engine, responsible for executing received from summary nodes and storing state. It also exposes standard JSON-RPC methods to query blockchain data and submit transactions to the network. We call this component matmo-geth because our execution engine is a minimal fork of go-matmo.

Rollup nodes and execution engines communicate with each other via JSON-RPC through the engine . This is similar to how the regular Ethereum network is deployed. Rollup Node acts as matmo's consensus client, and Execution Engine acts as its execution client.

Hardware requirements

We recommend the following hardware resources:

  • For running a production grade public fullnode:

    • CPU: 8 cores, 16 threads (Intel Xeon Skylake or newer).

    • Memory: 32GB RAM.

  • For running the public fullnode for development or testing:

    • CPU: 2 cores.

    • Memory: 4GB RAM.

Node Configuration

To configure your node, you will need to do the following:

  1. Configure matmo-node to point to the matmo net.

  2. Initialize matmo-geth with the correct network parameters.

  3. Optionally, configure Legacy Geth.

A valid command that runs:

node runs \
matmo node \
  --ms node\
  --ms geth\
  --ms.port=8446 \
  --ms.addr=localhost \
  --ws.origins="*" \
  --http.port=8446 \
  --http.addr=localhost \
  --http.vhosts="*" \
  --http.corsdomain="*" \
  --authrpc.addr=localhost \
  --authrpc.jwtsecret=/var/secrets/jwt.txt \
  --authrpc.port=8551 \
  --authrpc.vhosts="*" \
  --datadir=/data \
  --verbosity=3 \
  --rollup.disabletxpoolgossip=true \
  --rollup.sequencerhttp=https://bedrock-beta-1-sequencer.optimism.io \
  --nodiscover \
  --syncmode=full \
  --maxpeers=0

  
  open-Fullnode
 --matmo=<goerli RPC url> \
        --matmo=<matmo-Fullnode authenticated RPC url> \
        --network=beta-1
        --rpc.addr=127.0.0.6 \
        --rpc.port=9445 \
        --matmo.jwt-secret=<path to JWT secret>
    
        --matmo end
 

Configure matmo-geth to properly communicate with the Rollup .

πŸ“š
πŸ•Ž
πŸ“³
block
chain
transactions
matmo
blocks
API
​
Node