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 shisui
Also, you can build the docker image by running
make shisui-image
After building shisui
, you can start the client by running
# supported options are list below
./build/bin/shisui
Alternatively, 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.addr
HTTP-RPC server listening addr--rpc.port
HTTP-RPC server listening port(default:8545
)--data.dir
data dir of where the data file located(default:./
)--data.capacity
the capacity of the data stored, the unit is MB(default:10GB
)--nat
p2p address(defaultnone
)none
, find local addressany
uses the first auto-detected mechanismextip:77.12.33.4
will assume the local machine is reachable on the given IPupnp
uses the Universal Plug and Play protocolpmp
uses NAT-PMP with an auto-detected gateway addresspmp:192.168.0.1
uses NAT-PMP with the given gateway addressstun
uses stun server to find extip
--udp.addr
protocol UDP server listening port(default:9009
)--loglevel
loglevel of portal network,1
to5
, fromerror
totrace
(default:1
)--private.key
private key of p2p node, hex format without0x
prifix--bootnodes
bootnode of p2p network with ENR format, usenone
to config empty bootnodes--networks
portal 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