Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Acropolis modular node architecture & components in Rust

License

NotificationsYou must be signed in to change notification settings

input-output-hk/acropolis

Repository files navigation

Acropolis is a project to create a kit of modular parts, written inRust, which allows flexible construction of clients, services and APIs forthe Cardano ecosystem.

Status

This project has moved out of the experimental phase and is being implementedaccording to a set of deliverables documented in the Treasury Fund Milestones.

Overview and Deliverables

The Acropolis Cardano Node is a rust implementation that seeks parity with theHaskell implementation and is intended to be a full block producing node on mainnet.Please see theoverview document that describes the phases ofdevelopment, descriptions, expected use cases, and runtime environments expectedof each of the deliverables.

Architecture

Acropolis is based on theCaryatid framework,which in turn uses a message bus such asRabbitMQto communicate between micro-services.

graph TB  subgraph Process A    Module1(Module 1)    Module2(Module 2)    Caryatid1(Caryatid Framework)    Module1 <--> Caryatid1    Module2 <--> Caryatid1  end  subgraph Process B    Module3(Module 3)    Caryatid2(Caryatid Framework)    Module3 <--> Caryatid2  end  RabbitMQ([RabbitMQ Message Bus])  style RabbitMQ fill: #eff  Caryatid1 <--> RabbitMQ  Caryatid2 <--> RabbitMQ
Loading

Modules

  • Peer Network Interface -implementation of the Node-to-Node (N2N) client-side (initiator)protocol, allowing chain synchronisation and block fetching
  • Mithril Snapshot Fetcher -Fetches a chain snapshot from Mithril and replays all the blocks in it
  • Genesis Bootstrapper - reads the Genesisfile for a chain and generates initial UTXOs
  • Snapshot Bootstrapper - downloads ledger state snapshot files for configured epochs,streams and parses the CBOR data (UTXOs, pools, accounts, DReps, proposals), and publishes completion messages tosignal snapshot readiness to other modules.
  • Block Unpacker - unpacks received blocksinto individual transactions
  • Tx Unpacker - parses transactions and generates UTXOchanges
  • UTXO State - watches UTXO changes and maintains a basic in-memory UTXO state
  • SPO State - matches SPO registrations and retirements
  • DRep State - tracks DRep registrations
  • Governance State - tracks Governance Actions and voting
  • Stake Delta Filter - filters out stake address changes and handles stake pointerreferences
  • Epochs State - track fees blocks minted and epochs history
  • Accounts State - stake and reward accounts tracker
  • Assets State - tracks native asset supply, metadata, transactions, and addresses

Processes

There is currently only one process, for testing:

  • Omnibus - includes all the above modules fortesting, by default using the internal message bus only

Build

Everything is locally contained or is a crate dependency. To build the node,

make build

Running the node

The following will run the omnibus process.

make run

About

Acropolis modular node architecture & components in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors15


[8]ページ先頭

©2009-2026 Movatter.jp