Go implementation of the Ethereum protocol
Find a file
2024-05-31 14:02:18 +08:00
.github Merge branch 'ethereum:master' into portal 2024-05-15 15:41:58 +08:00
accounts accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
beacon core, beacon, ethdb: fix typos (#29748) 2024-05-10 19:48:14 +02:00
build build: upgrade to go 1.22.3 (#29725) 2024-05-07 22:08:29 +02:00
cmd fix: cache node id and add logs 2024-05-19 00:07:37 +08:00
common common/prque: fix godoc comments (#29460) 2024-04-06 11:09:30 +02:00
consensus all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
console console: fix the wrong error msg of datadir testcase (#29183) 2024-03-08 12:15:52 +01:00
core core: move balanceCheck addition in buyGas (#29762) 2024-05-15 14:23:24 +02:00
crypto all: fix various typos (#29542) 2024-04-16 15:44:00 +03:00
docs docs/postmortems: fix outdated link (#28893) 2024-01-29 16:40:57 +01:00
eth eth/tracers: fix basefee context for traceBlock (#29811) 2024-05-21 18:27:36 +02:00
ethclient all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
ethdb core, beacon, ethdb: fix typos (#29748) 2024-05-10 19:48:14 +02:00
ethstats all: use timer instead of time.After in loops, to avoid memleaks (#29241) 2024-04-09 08:51:54 +02:00
event event: fix typo (#29749) 2024-05-10 19:44:07 +02:00
graphql eth/downloader, graphql: fix typos (#29243) 2024-03-15 10:07:47 +01:00
internal fix: find node info 2024-05-29 20:26:30 +08:00
log signer/core/apitypes: use slices.Contains (#29474) 2024-04-08 12:58:37 +02:00
metrics metrics: remove librato (#29624) 2024-04-23 13:08:02 +03:00
miner all: refactor so NewBlock, WithBody take types.Body (#29482) 2024-04-30 14:55:08 +02:00
node fix: cache node id and add logs 2024-05-19 00:07:37 +08:00
p2p fix: test case and upgrade utp-go version 2024-05-31 14:02:18 +08:00
params core: deploy EIP-4788 contract in dev mode genesis (#29655) 2024-05-14 15:04:32 +02:00
portalnetwork fix: PortalReceipts ssz error in history network 2024-05-25 11:12:28 +08:00
rlp all: fix various typos (#29600) 2024-04-23 13:09:42 +03:00
rpc all: fix various typos (#29600) 2024-04-23 13:09:42 +03:00
signer all: use big.Sign to compare with zero (#29490) 2024-04-09 12:14:30 +02:00
swarm swarm: fix outdated link (#26501) 2023-01-16 11:00:55 +01:00
tests tests: update tests (#29730) 2024-05-13 21:34:29 +08:00
trie trie: update the valid function comments (#29809) 2024-05-21 19:53:34 +08:00
triedb trie/pathdb: preallocate map capacity (#29690) 2024-05-02 12:35:45 +03:00
.dockerignore cmd, internal/build, docker: advertise commit date in unstable build versions (#19522) 2019-05-08 16:44:28 +03:00
.gitattributes .gitattributes: enable solidity highlighting on github (#16425) 2018-04-03 15:21:24 +02:00
.gitignore git: ignore tests/spec-tests folder (#28254) 2023-10-10 10:56:50 +02:00
.gitmodules tests: external evm benchmarks (#24050) 2022-01-28 08:47:19 +01:00
.golangci.yml build: upgrade to golangci-lint v1.55.2 (#28712) 2023-12-20 15:36:10 +01:00
.mailmap .mailmap: remove invalid email address (#29163) 2024-03-04 21:58:25 +01:00
.travis.yml .travis.yml: disable normal unit tests in cron job (#29746) 2024-05-09 16:05:42 +02:00
appveyor.yml tests, appveyor: only execute one in four permutations on CI (#29220) 2024-03-13 18:12:23 +01:00
AUTHORS AUTHORS: remove one more duplicate entry (#24950) 2022-05-24 21:04:21 +02:00
circle.yml circleci: enable docker based hive testing 2016-07-15 16:07:34 +03:00
COPYING COYPING: restore the full text text of GPL (#21568) 2020-09-15 08:27:17 +02:00
COPYING.LESSER all: update license information 2015-07-07 14:12:44 +02:00
Dockerfile all: fix typos (#29288) 2024-03-20 08:49:38 +01:00
Dockerfile.alltools all: fix typos (#29288) 2024-03-20 08:49:38 +01:00
Dockerfile.portal feat:update go version 2024-03-20 16:02:26 +08:00
go.mod fix: test case and upgrade utp-go version 2024-05-31 14:02:18 +08:00
go.sum fix: test case and upgrade utp-go version 2024-05-31 14:02:18 +08:00
interfaces.go ethereum, ethclient: add blob transaction fields in CallMsg (#28989) 2024-02-15 10:08:46 +01:00
Makefile Merge branch 'ethereum:master' into portal 2024-03-22 10:21:00 +08:00
oss-fuzz.sh core/vm: update gascosts for BLS12-381 + use gnark instead of kilic (#29441) 2024-04-16 10:53:43 +02:00
README.md fix: panic 2024-05-06 23:53:09 +08:00
SECURITY.md SECURITY.md: fix typo (#24244) 2022-01-16 00:38:43 +01:00

Shisui

AppVeyor Build (with branch) Discord

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.

Building the source

For prerequisites and detailed build instructions please read the Installation Instructions.

Building shisui requires both a Go (version 1.19 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

Running shisui

After building shisui, you can start the client by running

./build/bin/shisui

Alternatively, you can run the docker image by running

docker run -d -p 8545:8545 -p 9009:9009/udp ghcr.io/optimism-java/shisui:latest

supported options

  • --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)
  • --udp.addr protocol UDP server listening interface(default: local ip)
  • --udp.addr protocol UDP server listening port(default: 9009)
  • --loglevel loglevel of portal network, 1 to 5, from error to trace(default: 1)
  • --private.key private key of p2p node, hex format without 0x prifix
  • --bootnodes bootnode of p2p network with ENR format
  • --networks portal sub networks: history, beacon, state

Hardware Requirements

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