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.22 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/optimism-java/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
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