Go implementation of the Ethereum protocol
Find a file
Martin HS 33a2d825f7 all: update to go version 1.22.1 (#28946)
Since Go 1.22 has deprecated certain elliptic curve operations, this PR removes
references to the affected functions and replaces them with a custom implementation
in package crypto. This causes backwards-incompatible changes in some places.

---------

Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-03-20 15:37:23 +08:00
.github feat:make image every push 2024-03-08 15:55:16 +08:00
accounts all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
beacon beacon/light/request: fix typos (#29216) 2024-03-11 11:17:16 +01:00
build all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
cmd fix: rename PortalHistoryConfig to Config 2024-03-19 19:40:32 +08:00
common eth/catalyst: prettier output on bad new payloads (#29259) 2024-03-15 10:44:41 +01:00
consensus miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
console console: fix the wrong error msg of datadir testcase (#29183) 2024-03-08 12:15:52 +01:00
core params: use the same variable name as EIP-4788 (#29195) 2024-03-15 09:14:31 +01:00
crypto all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
docs docs/postmortems: fix outdated link (#28893) 2024-01-29 16:40:57 +01:00
eth eth/catalyst: prettier output on bad new payloads (#29259) 2024-03-15 10:44:41 +01:00
ethclient ethclient/gethclient: add blob transaction fields in toCallArg (#29198) 2024-03-08 12:13:46 +01:00
ethdb go.mod: bump pebble db to official release (#29038) 2024-03-05 16:15:02 +02:00
ethstats miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
event event: fix Resubscribe deadlock when unsubscribing after inner sub ends (#28359) 2023-10-22 17:37:56 +02:00
graphql eth/downloader, graphql: fix typos (#29243) 2024-03-15 10:07:47 +01:00
internal feat: remove flags for hive test 2024-03-19 19:40:32 +08:00
log log: add Handler getter to Logger interface (#28793) 2024-03-08 00:01:31 +01:00
metrics cmd, core, metrics: always report expensive metrics (#29191) 2024-03-11 10:06:57 +02:00
miner miner: add additional log (#29193) 2024-03-12 14:29:35 +01:00
node feat: add cli and fix typ error 2024-03-19 19:40:32 +08:00
p2p all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
params params: use the same variable name as EIP-4788 (#29195) 2024-03-15 09:14:31 +01:00
portalnetwork feat: add cli and fix typ error 2024-03-19 19:40:32 +08:00
rlp rlp: using unsafe.Slice instead of SliceHeader (#29067) 2024-03-05 14:45:17 +01:00
rpc internal/build, rpc: add missing HTTP response body Close() calls (#29223) 2024-03-12 12:12:37 +01:00
signer all: replace fmt.Errorf() with errors.New() if no param required (#29126) 2024-02-29 11:56:46 +02:00
swarm swarm: fix outdated link (#26501) 2023-01-16 11:00:55 +01:00
tests tests, appveyor: only execute one in four permutations on CI (#29220) 2024-03-13 18:12:23 +01:00
trie core/state, trie/triedb/pathdb: remove storage incomplete flag (#28940) 2024-03-05 14:31:55 +01:00
triedb core/state, trie/triedb/pathdb: remove storage incomplete flag (#28940) 2024-03-05 14:31:55 +01: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 all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08: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: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
Dockerfile.alltools all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
Dockerfile.portal feat:update readme 2024-03-15 21:08:16 +08:00
go.mod all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
go.sum all: update to go version 1.22.1 (#28946) 2024-03-20 15:37:23 +08:00
interfaces.go ethereum, ethclient: add blob transaction fields in CallMsg (#28989) 2024-02-15 10:08:46 +01:00
Makefile feat:update readme 2024-03-15 21:08:16 +08:00
oss-fuzz.sh tests/fuzzers: move fuzzers into native packages (#28467) 2023-11-14 14:34:29 +01:00
README.md feat:update utp-go 2024-03-15 22:30:01 +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 go-ethereum and erigon. 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

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