Evolved from Litentry, Heima Network is a substrate-based, EVM-compatible L1 that connects to a Polkadot-class relay chain for shared security and interoperability. It is built for chain abstraction and cross-chain operations, with:
- HEI token — the native token: transfers, governance, staking.
- Runtime & pallets — omni-account (cross-chain account abstraction), parachain-staking, omni-bridge, TEE worker registration (teebag), extrinsic filtering, and full EVM support.
- omni-executor — a TEE (Gramine/SGX) worker that executes cross-chain UserOperations (EIP-4337 account abstraction) across Ethereum, Solana and other chains.
parachain/— the node, runtimes (heima,paseo) and pallets.tee-worker/omni-executor/— the cross-chain TEE worker.local-setup/— helper scripts for local development.
All commands below are run from the repository root unless noted otherwise.
The parachain ships two runtimes: heima-runtime (paraID 2013) and paseo-runtime (paraID 2106, for the Paseo testnet), both produced by the heima-node binary.
make build-node # build the heima-node binary
make build-runtime-heima # build the heima runtime wasm
make build-runtime-paseo # build the paseo runtime wasmRuntime wasms land under parachain/target/release/wbuild/<runtime>/.
To build the litentry/heima docker image (by cargo profile):
make build-docker-release # `release` profile
make build-docker-production # `production` profileSpin up a local network (2 relaychain validators + 1 collator) with zombienet:
make launch-network-heima # or: make launch-network-paseoOnce it is up, the chain is reachable in the polkadot-js explorer at ws://127.0.0.1:9944. Tear it down with:
make clean-networkFor faster iteration, run a single standalone node (no relaychain, instant block finality):
make launch-standalonemake test-cargo-all # cargo tests across the workspace
make test-ts-heima # TypeScript integration tests (or: test-ts-paseo)The TypeScript suite lives in parachain/ts-tests/.
omni-executor is a Rust TEE worker (running under Gramine/SGX) that executes cross-chain UserOperations — EIP-4337 account abstraction — across Ethereum, Solana and other chains, exposing a JSON-RPC server for authenticated submissions.
It vendors its Solidity dependencies as git submodules, so initialize them first:
git submodule update --init --recursivecd tee-worker/omni-executor
cargo build --release # host build, for local development
make SGX=1 # build & sign for Gramine/SGXA docker-compose setup brings up the worker together with a local Anvil EVM node and auto-deployed account-abstraction contracts. From tee-worker/omni-executor/:
make build-docker # or: make build-docker-test (with test endpoints)
make start-local # or: make start-test
make stop-local # tear down (or: make stop-test)TypeScript integration tests live in tee-worker/omni-executor/ts-tests/.
For full details — environment variables, RPC endpoints, and CLI usage — see tee-worker/omni-executor/README.md and tee-worker/omni-executor/LOCAL_DEV.md.
