Gihub: https://github.com/Nashatyrev/artemis/tree/rayonism/shard
need to be in separate files p2p-privateKey-1.hex
, p2p-privateKey-2.hex
, p2p-privateKey-3.hex
:
080212206FD7AF84823661AE4F0FDB05D83BD5569B4270FE94C8AD79CCB7E3F843DEFCB1
080212206FD7AF84823661AE4F0FDB05D83BD5569B4270FE94C8AD79CCB7E3F843DEFCB2
080212206FD7AF84823661AE4F0FDB05D83BD5569B4270FE94C8AD79CCB7E3F843DEFCB3
teku genesis mock --output-file ./local-genesis.ssz --network=minimal --validator-count=256 --shard-builder-count=256
Node #1 teku
CLI arguments:
-l INFO
--Xinterop-enabled=true
--Xinterop-number-of-validators=256
--Xinterop-owned-validator-start-index=0
--Xinterop-owned-validator-count=90
--network=minimal
--rest-api-enabled
--rest-api-docs-enabled
--rest-api-port=5051
--initial-state ./local-genesis.ssz
--p2p-port=9001
--p2p-private-key-file=./p2p-privateKey-1.hex
--data-path=./data.rayonism.1
Node #2 teku
CLI arguments:
-l INFO
--Xinterop-enabled=true
--Xinterop-number-of-validators=256
--Xinterop-owned-validator-start-index=90
--Xinterop-owned-validator-count=80
--network=minimal
--initial-state ./local-genesis.ssz
--p2p-port=9002
--p2p-private-key-file=./p2p-privateKey-2.hex
--p2p-static-peers=/ip4/127.0.0.1/tcp/9001/p2p/16Uiu2HAmH6m8pE7pXsfzXHg3Z5kLzgwJ5PWSYELaKXc75Bs2utZM
--data-path=./data.rayonism.2
Node #3 teku
CLI arguments:
-l INFO
--Xinterop-enabled=true
--Xinterop-number-of-validators=256
--Xinterop-owned-validator-start-index=170
--Xinterop-owned-validator-count=86
--network=minimal
--initial-state ./local-genesis.ssz
--p2p-port=9003
--p2p-private-key-file=./p2p-privateKey-3.hex
--p2p-static-peers=/ip4/127.0.0.1/tcp/9002/p2p/16Uiu2HAm7JLKuHchu8TtUwmWvoDzJGH2dsFRA61cvHkw3v98727L
--data-path=./data.rayonism.3
schedule_shard_blob
REST API (testing/debuging API) endpoint is capable of finding the nearest available slot then compose and publish blob data transaction
to the shard_blob_tx
topic (at the time blob.slot - 2/3
).
Then it awaits for blob tx confirmation (header signed by the beacon shard proposer as shard_blob_header
topic) and publishes ShardBlob
to the corresponding topic channel (at the time blob.slot
)
To submit a shard use either Swagger UI at http://localhost:5051/swagger-ui and submit test request:
{
"builder_index": 0,
"shard": 0,
"commitment": {
"point": "a1c76af1545d7901214bb6be06be5d9e458f8e989c19373a920f0018327c83982f6a2ac138260b8def732cb366411ddc",
"length": 0
},
"degree_proof": "a1c76af1545d7901214bb6be06be5d9e458f8e989c19373a920f0018327c83982f6a2ac138260b8def732cb366411ddc",
"data": []
}
Or the same with curl
:
curl -X POST "http://localhost:5051/teku/v1/shard/schedule_shard_blob" -H "accept: */*" -H "Content-Type: application/json" -d "{\"builder_index\":0,\"shard\":0,\"commitment\":{\"point\":\"a1c76af1545d7901214bb6be06be5d9e458f8e989c19373a920f0018327c83982f6a2ac138260b8def732cb366411ddc\",\"length\":0},\"degree_proof\":\"a1c76af1545d7901214bb6be06be5d9e458f8e989c19373a920f0018327c83982f6a2ac138260b8def732cb366411ddc\",\"data\":[]}"
The Node #1 log should immediately contain scheduled Shard blob info (in Teku file logs):
INFO | ShardBlobTracker | ShardBlobHeader Tx scheduled: ShardBlobHeader{...}
When blob tx, blob header, blob is published and confirmed all nodes expected to contain the following entries (in Teku file logs):
INFO | ShardBlobTracker | ShardBlobHeader Tx added: ShardBlobHeader{...}
INFO | ShardBlobTracker | ShardBlobHeader added: ShardBlobHeader{...}
INFO | ShardBlobTracker | ShardBlob added: ShardBlob{...}
INFO | ShardBlobTracker | PendingShardHeader appeared in state: SignedBeaconBlockHeader{...}
INFO | ShardBlobTracker | PendingShardHeader confirmed: SignedBeaconBlockHeader{...}
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing