Skip to content

.docker: enable Gorgon - #218

Merged
roman-khimov merged 4 commits into
masterfrom
fix-sharp-build
Jul 10, 2026
Merged

.docker: enable Gorgon#218
roman-khimov merged 4 commits into
masterfrom
fix-sharp-build

Conversation

@AnnaShaleva

@AnnaShaleva AnnaShaleva commented Jul 8, 2026

Copy link
Copy Markdown
Member
  1. Enable Gorgon.
  2. Fix StateService plugin build.
  3. Upgrade C# and Go nodes to the latest released version (v3.10.1 and v0.121.0 correspondingly).

Invalid equality condition and improper MPTTrie binary path lead to
inability to fetch stateroot via RPC:
```
anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-go/scripts$ go run ./compare-states/compare-states.go http://localhost:20331 http://172.200.0.4:20331
getstateroot from B for 0: Could not load file or assembly 'MPTTrie, Version=3.10.1.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
 (-2147024894)
exit status 1
```

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
@AnnaShaleva

Copy link
Copy Markdown
Member Author

Something is wrong with the C# release build, not ready for the review yet.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Close #213.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
@AnnaShaleva

Copy link
Copy Markdown
Member Author

C# node build fixed:

anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-bench$ make build.node.sharp 
=> Building Sharp Node image registry.nspcc.ru/neo-bench/neo-sharp:bench
[+] Building 13.8s (20/20) FINISHED                                                                                                                                            docker:default
 => [internal] load build definition from Dockerfile.sharp                                                                                                                               0.0s
 => => transferring dockerfile: 2.36kB                                                                                                                                                   0.0s
 => [internal] load metadata for mcr.microsoft.com/dotnet/aspnet:10.0                                                                                                                    1.5s
 => [internal] load .dockerignore                                                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                                                          0.0s
 => [internal] load build context                                                                                                                                                        0.0s
 => => transferring context: 164B                                                                                                                                                        0.0s
 => [ 1/15] FROM mcr.microsoft.com/dotnet/aspnet:10.0@sha256:7644f992230d35cf230017189d4038c0ae0f7388b13f4f7ae1900a155bafb597                                                            0.0s
 => CACHED [ 2/15] RUN set -x     && apt-get update     && apt-get install -y         unzip         tar         libleveldb-dev         wget         curl         jq         libssl-dev   0.0s
 => CACHED [ 3/15] RUN wget -O /opt/neo-cli.tar.gz https://github.com/neo-project/neo-node/releases/download/v3.10.1/neo-cli.v3.10.1-linux-x64.tar.gz                                    0.0s
 => CACHED [ 4/15] RUN mkdir /neo-cli                                                                                                                                                    0.0s
 => [ 5/15] RUN tar -xvzf /opt/neo-cli.tar.gz --strip-components=1 -C /neo-cli                                                                                                           1.3s
 => [ 6/15] RUN ls -la /neo-cli                                                                                                                                                          0.1s
 => [ 7/15] RUN rm /opt/neo-cli.tar.gz                                                                                                                                                   0.1s
 => [ 8/15] RUN for mod in DBFTPlugin LevelDBStore RocksDBStore RpcServer; do         wget -O /tmp/${mod}.zip https://github.com/neo-project/neo-node/releases/download/v3.10.1/${mod}.  9.9s 
 => [ 9/15] RUN echo "printf "\n* Please report issues to https://github.com/nspcc-dev/neo-bench\n\n"" >> /root/.bashrc                                                                  0.2s 
 => [10/15] WORKDIR /neo-cli                                                                                                                                                             0.0s 
 => [11/15] RUN chmod +x /neo-cli/neo-cli                                                                                                                                                0.2s 
 => [12/15] COPY ./sharp.entrypoint.sh /entrypoint.sh                                                                                                                                    0.0s 
 => [13/15] COPY ./sharp.healthcheck.sh /healthcheck.sh                                                                                                                                  0.0s 
 => [14/15] COPY ./sharp.rpc.config.json /neo-cli/Plugins/RpcServer/RpcServer.json                                                                                                       0.0s 
 => [15/15] COPY ./sharp.dbft.config.json /neo-cli/Plugins/DBFTPlugin/DBFTPlugin.json                                                                                                    0.0s
 => exporting to image                                                                                                                                                                   0.4s
 => => exporting layers                                                                                                                                                                  0.4s
 => => writing image sha256:ae46a88d3b02cb93c9ce65cbae8020046d510ffe06f2b954b26fbb87d7be6592                                                                                             0.0s
 => => naming to registry.nspcc.ru/neo-bench/neo-sharp:bench               

Mixed consensus works fine:

anna@kiwi:~/Documents/GitProjects/nspcc-dev/neo-bench$ make start.MixedFourNodesGoRPC50rate 
./runner.sh --nodes mixed -d "MixedGoRPC4x1" -m rate -q 50 -z 5m -t 30s
make[1]: Entering directory '/home/anna/Documents/GitProjects/nspcc-dev/neo-bench'
=> Stop environment
=> Stop Bench process
bench: no process found
=> Generate configurations for single-node and four-nodes networks from templates
+ cd ./cmd
+ go run ./config/ --go-template go.protocol.template.yml --go-db leveldb --sharp-template sharp.protocol.template.yml --sharp-db LevelDBStore --msPerBlock 0
make[1]: Leaving directory '/home/anna/Documents/GitProjects/nspcc-dev/neo-bench'
WARN[0000] a network with name neo_go_network exists but was not created for project "ir".
Set `external: true` to use an existing network 
[+] Creating 7/7
 ✔ Container neo-cli-node-two   Created                                                                                                                                                  0.0s 
 ✔ Container neo_go_node_three  Created                                                                                                                                                  0.0s 
 ✔ Container neo_go_node_four   Created                                                                                                                                                  0.0s 
 ✔ Container neo-cli-node-one   Created                                                                                                                                                  0.0s 
 ✔ Container ir-healthy-1       Created                                                                                                                                                  0.0s 
 ✔ Container go-node            Created                                                                                                                                                  0.0s 
 ✔ Container ir-node_healthy-1  Created                                                                                                                                                  0.0s 
[+] Running 7/7
 ✔ Container neo_go_node_four   Healthy                                                                                                                                                  5.8s 
 ✔ Container neo-cli-node-one   Healthy                                                                                                                                                  5.8s 
 ✔ Container neo-cli-node-two   Healthy                                                                                                                                                  5.8s 
 ✔ Container neo_go_node_three  Healthy                                                                                                                                                  5.8s 
 ✔ Container ir-healthy-1       Started                                                                                                                                                  0.2s 
 ✔ Container go-node            Healthy                                                                                                                                                  5.7s 
 ✔ Container ir-node_healthy-1  Started                                                                                                                                                  0.2s 
2026/07/10 05:49:36 Used [go-node:20331] rpc addresses
2026/07/10 05:49:36 Run benchmark for MixedGoRPC4x1 :: NEO-GO
2026/07/10 05:49:45 Read 3000000 txs from /dump.txs
2026/07/10 05:49:50 Done 4.768029465s
2026/07/10 05:49:50 Init 30 workers with 50 QPS / 5m0s time limit (3000000 txs will try to send)
2026/07/10 05:49:50 Prepare chain for benchmark
2026/07/10 05:49:50 Determined validators count: 4
2026/07/10 05:49:50 Sending NEO and GAS transfer tx
2026/07/10 05:49:51 Contract hash: ceb508fc02abc2dc27228e21976699047bbbcce0
2026/07/10 05:49:51 Sending contract deploy tx
2026/07/10 05:49:51 Contract was persisted: false
2026/07/10 05:49:51 Contract was persisted: false
2026/07/10 05:49:52 Contract was persisted: false
2026/07/10 05:49:52 Contract was persisted: false
2026/07/10 05:49:53 Contract was persisted: false
2026/07/10 05:49:53 Contract was persisted: false
2026/07/10 05:49:54 Contract was persisted: false
2026/07/10 05:49:54 Contract was persisted: false
2026/07/10 05:49:55 Contract was persisted: false
2026/07/10 05:49:55 CPU: 1.333%, Mem: 245.609MB
2026/07/10 05:49:55 Contract was persisted: false
2026/07/10 05:49:56 Contract was persisted: true
2026/07/10 05:49:56 fetch current block count
2026/07/10 05:49:56 Waiting for an empty block to be processed
2026/07/10 05:50:01 Started test from block = 6 at unix time = 1783662600828
2026/07/10 05:50:01 all request workers stopped
2026/07/10 05:50:01 empty block: 6
2026/07/10 05:50:05 CPU: 3.441%, Mem: 259.258MB
2026/07/10 05:50:06 #7: 210 transactions in 5002 ms - 41.983207 tps
2026/07/10 05:50:11 #8: 270 transactions in 5017 ms - 53.817022 tps
2026/07/10 05:50:15 CPU: 4.381%, Mem: 296.066MB
2026/07/10 05:50:16 #9: 240 transactions in 5006 ms - 47.942469 tps
^C
2026/07/10 05:50:16 received signal: interrupt
2026/07/10 05:50:17 Sent 780 transactions in 16.201029331s
2026/07/10 05:50:17 RPS: 48.145
2026/07/10 05:50:17 All transactions have been sent successfully
2026/07/10 05:50:17 RPC Errors: 0 / 0.000%
2026/07/10 05:50:17 sender worker stopped
2026/07/10 05:50:17 parser worker stopped
2026/07/10 05:50:17 try to write profile
MixedGoRPC4x1 :: NEO-GO / 50 rate / 5m0s

TXs ≈ 720
RPS ≈ 48.145
RPC Errors  ≈ 0 / 0.000%
TPS ≈ 47.920
DefaultMSPerBlock = 5000

CPU ≈ 3.051%
Mem ≈ 266.978MB

MillisecondsFromStart, CPU, Mem
10030.566, 1.333%, 245.609MB
20068.145, 3.441%, 259.258MB
30103.774, 4.381%, 296.066MB

DeltaTime, TransactionsCount, TPS
5002, 210, 41.983
5017, 270, 53.817
5006, 240, 47.942
make[1]: Entering directory '/home/anna/Documents/GitProjects/nspcc-dev/neo-bench'
=> Stop environment
=> Stop Bench process
bench: no process found
make[1]: Leaving directory '/home/anna/Documents/GitProjects/nspcc-dev/neo-bench'

@AnnaShaleva
AnnaShaleva marked this pull request as ready for review July 10, 2026 05:50
@roman-khimov
roman-khimov merged commit 35876ee into master Jul 10, 2026
8 checks passed
@roman-khimov
roman-khimov deleted the fix-sharp-build branch July 10, 2026 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants