8ea07d24c9
* Create hobbits-client_interop_proceedure.md * Update hobbits-client_interop_proceedure.md * Update hobbits-client_interop_proceedure.md adding link to hobbits conformance tests * Create hobbits-conformance-tests * Add files via upload * Update hobbits-conformance-tests * Update hobbits-conformance-tests * Create hobbits-interop_procedure.md * Update and rename hobbits-conformance-tests to hobbits-conformance-tests.md * Delete hobbits-client_interop_proceedure.md * Add files via upload * Create hobbits-integration-tests.md * Update hobbits-interop_procedure.md * Update hobbits-integration-tests.md * Delete hit.png * Add files via upload * Delete hit.png * Add files via upload * Update hobbits-integration-tests.md * Update interop/hobbits-integration-tests.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Update interop/hobbits-interop_procedure.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Update interop/hobbits-interop_procedure.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Update interop/hobbits-interop_procedure.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Update interop/hobbits-integration-tests.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Update interop/hobbits-interop_procedure.md Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com> * Create README.md * changed dir structure per hww comments * Update interop/hobbits/README.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update interop/hobbits/README.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update interop/hobbits/README.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update interop/hobbits/README.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update interop/hobbits/README.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update interop/hobbits/integration-tests.md Co-Authored-By: Danny Ryan <dannyjryan@gmail.com> * Update README.md * Update integration-tests.md |
||
---|---|---|
.. | ||
README.md | ||
conformance-tests.md | ||
hct.png | ||
hit.png | ||
integration-tests.md |
README.md
Initial Interop
For the initial client interop, clients will utilize a simplified networking implementation and wire protocol. For more information please review the hobbits specification here.
Prereqs
- targeting the frozen spec (v0.8)
- all clients must pass reference tests
- all clients must pass hobbits integration tests
- all wire protocol implementations must pass hobbits conformance tests
Stage One: Coordinated Start
Clients simulate a coordinated genesis event and gossip blocks/attestations for each slot. This stage demonstrates the ability of clients to finalize the chain starting from Eth2Genesis
.
Prereqs
- Ability to read in the N number of deposits required to trigger the
is_genesis_trigger
function - Ability to gossip blocks and attestations
- Static peering
- TCP transport
- Minimal Constants
Procedure
For the initial round:
- Clients will pair off in teams of two.
is_genesis_trigger
will be triggered on startup- Once the clients can finalize the chain, then they pick another client pair to interop with.
Repeat (1) & (2) until all clients are talking.
Round 1: 2 nodes (one per client) with 16 validators/client
Round 2: 4 nodes (one per client) with 8 validators/client
Round 3: 8 nodes (one per client) with 4 validators/client
Goal
Clients can declare success at each round after 3 epochs where:
- Epoch 2 is justified
- Epoch 1 is finalized
Stretch goal is for clients to run ~15 minutes without error and continual finalization.
Stage Two: Join & Sync
Clients join an existing short-lived testnet and sync. This stage demonstrates the clients' ability to successfully join an existing network.
Prereqs
- RPC methods implemented so that a new client can sync to an existing testnet.
- Standup a short-lived heterogeneous testnet
- Static peering
- TCP transport
Procedure
For the initial round:
- Clients will pair off in teams of two
- Clients A & B create a testnet
- A adds another node to sync from scratch
- B adds another node to sync from scratch
Note: The additional nodes will not have validators
Repeat steps (1) thru (3) until all clients are talking.
Round 1: 2 nodes (one per client) with 16 validators/client Round 2: 4 nodes (one per client) with 8 validators/client Round 3: 8 nodes (one per client) with 4 validators/client
Goal
Clients can declare success when they are able to sync to the existing testnet chain and stay in sync for 3 epochs where:
- Epoch 2 is justified
- Epoch 1 is finalized