Welcome to itachi, the much easier and more flexible modular stack to build Layer 2 or Layer 3 chains using Cairo and the Starknet technology. It's open source for everyone to use.
Itachi is built on the Yu framework which not only makes it modular but also gives developers a simpler and more user-friendly development experience, just as simple as developing a web backend.
It is specifically easy and helpful if you want to quickly own more of the stack and get more control over your chain.
- cairo-vm: 0.8.3
- cairo-lang: 2.4.0
- rustc 1.74.0 (79e9716c9 2023-11-13)
- go 1.21
docker pull ghcr.io/reddio-com/itachi:latest
docker-compose upgit submodule init
git submodule update --recursive --checkout
make build
./itachiYou can see the running results on your terminal.

Reset Chain will clean all the stored history data locally.
make resetYou can use more complete python tests with starknet.py: https://github.com/reddio-com/itachi-testing
You can use starknetGo for RPC unit testing. You can refer to the itachi_test branch in this fork used during RPC development:https://github.com/haisenCx/starknet.go/tree/itachi_test
Files with the _test suffix in path starknet.go/rpc are unit tests for RPC.
The default config file of Itachi chain is conf/cairo_cfg.toml
The genesis configs of Itachi chain is same as Madara. You can learn more details by docs
- addDeclareTransaction
- addDeployAccountTransaction
- addInvokeTransaction
- call
- estimateFee
- getTransactionReceipt
- getTransactionByHash
- getNonce
- getTransactionStatus
- getClass
- getClassAt
- getClassHashAt
- blockHashAndNumber
- getBlockWithTxHashes
- getBlockWithTxs
- chainId
- syncing
- getTransactionByBlockIdAndIndex
- getBlockTransactionCount
- estimateMessageFee
- blockNumber
- specVersion
- traceTransaction
- simulateTransactions
- traceBlockTransactions
- getStorageAt
- getStateUpdate
- addDeclareTransaction
- addDeployAccountTransaction
- addInvokeTransaction
- call
- estimateFee
- getTransactionReceipt
- getTransactionByHash
- getNonce
- getTransactionStatus
- getClass
- getClassAt
- getClassHashAt
- blockHashAndNumber
- getBlockWithTxHashes
- getBlockWithTxs
- chainId
- syncing
- getTransactionByBlockIdAndIndex
- getBlockTransactionCount
- estimateMessageFee
- blockNumber
- specVersion
- traceTransaction
- simulateTransactions
- traceBlockTransactions
- getStorageAt
- getStateUpdate
- addDeclareTransaction
- addDeployAccountTransaction
- addInvokeTransaction
- call
- estimateFee
- getTransactionReceipt
- getTransactionByHash
- getNonce
- getTransactionStatus
- getClass
- getClassAt
- getClassHashAt
- blockHashAndNumber
- getBlockWithTxHashes
- getBlockWithTxs
- chainId
- syncing
- getTransactionByBlockIdAndIndex
- getBlockTransactionCount
- estimateMessageFee
- blockNumber
- specVersion
- traceTransaction
- simulateTransactions
- traceBlockTransactions
- getStorageAt
- getStateUpdate
