Armada is a WIP PoC impl of Starknet full node.
And a "sibling" of Pathfinder.
ARMADA_INFURA_TOKEN=${INFURA_TOKEN} bin/run ${HOME}/Temp/armada integration --metrics
- Sequencer client
- Ethereum client
- Sync
- event producers
- parent block
- pending block
- latest block
- ethereum state
- event handlers
- save block (+index)
- index transactions
- events
- reorg
- restore chain
- keep the data
- state update
- dto mapping
- nonce index
- store index
- classes
-
accounts
- sync testkit
- event producers
- Storage
- local
- gzip
- async?
- remote? (AWS S3)
- Indices
- local (yakvdb)
- remote? (AWS DynamoDB)
- Testing
- basic RPC test
- basic sync test
- mock-free testkit
- make seq & eth tests hermetic (httpmock)
- JSON-RPC API with iamgroot
- JSON-RPC API methods impl:
-
starknet_getBlockWithTxHashes
-
starknet_getBlockWithTxs
-
starknet_getStateUpdate
-
starknet_getStorageAt
-
starknet_getTransactionByHash
-
starknet_getTransactionByBlockIdAndIndex
-
starknet_getTransactionReceipt
-
starknet_getClass
-
starknet_getClassHashAt
-
starknet_getClassAt
-
starknet_getBlockTransactionCount
-
(needs SDK)starknet_call
-
(needs SDK)starknet_estimateFee
-
starknet_blockNumber
-
starknet_blockHashAndNumber
-
starknet_chainId
-
(pending block is ignored)starknet_pendingTransactions
-
starknet_syncing
-
starknet_getEvents
-
starknet_getNonce
-
(proxy call)starknet_addInvokeTransaction
-
(proxy call)starknet_addDeclareTransaction
-
(proxy call)starknet_addDeployAccountTransaction
-
(needs SDK)starknet_traceTransaction
-
(needs SDK)starknet_simulateTransaction
-
(needs SDK)starknet_traceBlockTransactions
-
Count LoC: find src tests -type f -name "*.rs" | xargs grep . | wc -l
WIP = Work In Progress
PoC = Proof of Concept
LoC = Lines of Code