Cold start for interop (#3437)

* coldstart flags for validator

* WIP beacon node flags

* wip beacon chain, flag fix in validator, arg fix in validator

* checkpoint

* Added interop service

* working on mock chainstart

* save the state lol

* fix tests

* Save genesis validators

* gaz

* fix validator help flags

* WaitForChainStart actually waits for genesis time

* cold start fixes

* cache

* change back

* allow for genesis state too

* remove logs

* increase mmap size

* dont process if head doesn't exist

* add 10ms tolerance

* enable libp2p debug at debug, fix pubsub

* works with checkpt

* initialize justified and finalized in db

* Removed preloadStatePath from blockchain service

* Clean up

* Write to disk for now post state

* revert b466dd536f

* Builds

* Only RPC test fails now

* use minimal config, no demo config

* clean up branch

* Lint

* resolve lint

* more lint fixes

* lint

* fix viz

* Fixing RPC test

* skip before epoch 2

* RPC time out

* Fixed ordering

* rename

* remove some dbg statements

* ensure index is correct

* fix some panics

* getting closer

* fix tests

* Fix private key

* Fixed RPC test

* Fixed beacon chain build for docker

* Add interop.go to validator go_image

* Fixed docker build

* handle errors

* skip test, skip disconnecting peers

* Fixed docker build

* tolerance for attestation processing

* revert copy

* clearer err message parse

* fix launching from dep contract
This commit is contained in:
terence tsao
2019-09-11 14:38:35 -04:00
committed by Raul Jordan
parent b4975f2b9d
commit 798bbbdc82
59 changed files with 936 additions and 361 deletions

View File

@@ -8,7 +8,7 @@ go_library(
"//tools/interop/convert-keys:__pkg__",
],
deps = [
"//shared/bls:go_default_library",
"//shared/interop:go_default_library",
],
)

View File

@@ -1,7 +1,6 @@
package main
import (
"crypto/rand"
"encoding/json"
"flag"
"fmt"
@@ -9,7 +8,7 @@ import (
"log"
"os"
"github.com/prysmaticlabs/prysm/shared/bls"
"github.com/prysmaticlabs/prysm/shared/interop"
)
var (
@@ -54,28 +53,27 @@ func main() {
}
}()
ctnr := generateUnencryptedKeys(rand.Reader)
ctnr := generateUnencryptedKeys()
if err := SaveUnencryptedKeysToFile(file, ctnr); err != nil {
log.Fatal(err)
}
}
func generateUnencryptedKeys(r io.Reader) *UnencryptedKeysContainer {
func generateUnencryptedKeys() *UnencryptedKeysContainer {
ctnr := &UnencryptedKeysContainer{
Keys: make([]*UnencryptedKeys, *numKeys),
}
for i := 0; i < *numKeys; i++ {
signingKey, err := bls.RandKey(r)
if err != nil {
log.Fatal(err)
}
withdrawalKey, err := bls.RandKey(r)
if err != nil {
log.Fatal(err)
}
sks, _, err := interop.DeterministicallyGenerateKeys(0 /*startIndex*/, uint64(*numKeys))
if err != nil {
panic(err)
}
for i, sk := range sks {
ctnr.Keys[i] = &UnencryptedKeys{
ValidatorKey: signingKey.Marshal(),
WithdrawalKey: withdrawalKey.Marshal(),
ValidatorKey: sk.Marshal(),
WithdrawalKey: sk.Marshal(),
}
}
return ctnr

View File

@@ -2,14 +2,13 @@ package main
import (
"bytes"
"crypto/rand"
"encoding/json"
"reflect"
"testing"
)
func TestSavesUnencryptedKeys(t *testing.T) {
ctnr := generateUnencryptedKeys(rand.Reader)
ctnr := generateUnencryptedKeys()
buf := new(bytes.Buffer)
if err := SaveUnencryptedKeysToFile(buf, ctnr); err != nil {
t.Fatal(err)