Shisui is an Ethereum portal client written in Go language based on go-ethereum. The name is inspired by Uchiha Shisui from the anime Naruto, who is renowned as "Shisui of the Body Flicker".
Note: Shisui is still under heavy development and is not yet ready for production use.
For prerequisites and detailed build instructions please read the Installation Instructions.
Building shisui requires both a Go (version 1.24 or later) and a C compiler. You can install
them using your favourite package manager. Once the dependencies are installed, run
make shisuiAlso, you can build the docker image by running
make shisui-imageAfter building shisui, you can start the client by running
# supported options are list below
./build/bin/shisuiAlternatively, you can run the docker image by running
docker run -d -p 8545:8545 -p 9009:9009/udp -e SHISUI_NAT=stun ghcr.io/zen-eth/shisui:latest
# if you know your exiIp, replace by -e SHISUI_NAT=extip:${your ip}You can use the script below to check if the node has started correctly.
curl -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "discv5_nodeInfo",
"params": [],
"id": 0
}'--rpc.addrHTTP-RPC server listening addr--rpc.portHTTP-RPC server listening port(default:8545)--data.dirdata dir of where the data file located(default:./)--data.capacitythe capacity of the data stored, the unit is MB(default:10GB)--natp2p address(defaultnone)none, find local addressanyuses the first auto-detected mechanismextip:77.12.33.4will assume the local machine is reachable on the given IPupnpuses the Universal Plug and Play protocolpmpuses NAT-PMP with an auto-detected gateway addresspmp:192.168.0.1uses NAT-PMP with the given gateway addressstunuses stun server to find extip
--udp.addrprotocol UDP server listening port(default:9009)--loglevelloglevel of portal network,1to5, fromerrortotrace(default:1)--private.keyprivate key of p2p node, hex format without0xprifix--bootnodesbootnode of p2p network with ENR format, usenoneto config empty bootnodes--networksportal sub networks: history, beacon, state--discv5.gnetenable gnet(windows does not support) as udp connection in discv5, default is false
all the options above can be set with envs.
the env is prefixed with SHISUI and change the . to _.
eg --rpc.add can be replaced with env SHISUI_RPC_ADDR
Minimum:
- CPU with 2+ cores
- 4GB RAM
- 1TB free storage space to sync the Mainnet
- 8 MBit/sec download Internet service
Recommended:
- Fast CPU with 4+ cores
- 16GB+ RAM
- High-performance SSD with at least 1TB of free space
- 25+ MBit/sec download Internet service