mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-09 15:37:56 -05:00
Change log to node's URL (#3255)
This commit is contained in:
committed by
terence tsao
parent
3cb32c3792
commit
0f123ae562
@@ -10,10 +10,10 @@ go_library(
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//shared/version:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//crypto:go_default_library",
|
||||
"@com_github_btcsuite_btcd//btcec:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//p2p/discv5:go_default_library",
|
||||
"@com_github_ipfs_go_log//:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_crypto//:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_core//crypto:go_default_library",
|
||||
"@org_uber_go_automaxprocs//:go_default_library",
|
||||
],
|
||||
)
|
||||
@@ -31,10 +31,10 @@ go_image(
|
||||
visibility = ["//visibility:private"],
|
||||
deps = [
|
||||
"//shared/version:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//crypto:go_default_library",
|
||||
"@com_github_btcsuite_btcd//btcec:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//p2p/discv5:go_default_library",
|
||||
"@com_github_ipfs_go_log//:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_crypto//:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_core//crypto:go_default_library",
|
||||
"@org_uber_go_automaxprocs//:go_default_library",
|
||||
],
|
||||
)
|
||||
@@ -66,7 +66,9 @@ go_test(
|
||||
embed = [":go_default_library"],
|
||||
deps = [
|
||||
"//shared/iputils:go_default_library",
|
||||
"@com_github_btcsuite_btcd//btcec:go_default_library",
|
||||
"@com_github_ethereum_go_ethereum//p2p/discv5:go_default_library",
|
||||
"@com_github_libp2p_go_libp2p_core//crypto:go_default_library",
|
||||
"@org_uber_go_automaxprocs//:go_default_library",
|
||||
],
|
||||
)
|
||||
|
||||
@@ -12,16 +12,15 @@ package main
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
"crypto/rand"
|
||||
"crypto/x509"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net"
|
||||
|
||||
curve "github.com/ethereum/go-ethereum/crypto"
|
||||
"github.com/btcsuite/btcd/btcec"
|
||||
"github.com/ethereum/go-ethereum/p2p/discv5"
|
||||
|
||||
logging "github.com/ipfs/go-log"
|
||||
crypto "github.com/libp2p/go-libp2p-crypto"
|
||||
"github.com/libp2p/go-libp2p-core/crypto"
|
||||
"github.com/prysmaticlabs/prysm/shared/version"
|
||||
_ "go.uber.org/automaxprocs"
|
||||
)
|
||||
@@ -34,9 +33,6 @@ var (
|
||||
log = logging.Logger("prysm-bootnode")
|
||||
)
|
||||
|
||||
// ECDSACurve is the default ecdsa curve used(secpk2561)
|
||||
var ECDSACurve = curve.S256()
|
||||
|
||||
func main() {
|
||||
flag.Parse()
|
||||
|
||||
@@ -52,7 +48,7 @@ func main() {
|
||||
listener := createListener(defaultIP, *port, privKey)
|
||||
|
||||
node := listener.Self()
|
||||
fmt.Printf("Running bootnode: /ip4/%s/udp/%d/discv5/%s\n", node.IP.String(), node.UDP, node.ID.String())
|
||||
fmt.Printf("Running bootnode, url: %s", node.String())
|
||||
|
||||
select {}
|
||||
}
|
||||
@@ -76,22 +72,23 @@ func createListener(ipAddr string, port int, privKey *ecdsa.PrivateKey) *discv5.
|
||||
|
||||
func extractPrivateKey() *ecdsa.PrivateKey {
|
||||
var privKey *ecdsa.PrivateKey
|
||||
var err error
|
||||
if *privateKey != "" {
|
||||
b, err := crypto.ConfigDecodeKey(*privateKey)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
privKey, err = x509.ParseECPrivateKey(b)
|
||||
unmarshalledKey, err := crypto.UnmarshalPrivateKey(b)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
privKey = (*ecdsa.PrivateKey)((*btcec.PrivateKey)(unmarshalledKey.(*crypto.Secp256k1PrivateKey)))
|
||||
|
||||
} else {
|
||||
privKey, err = ecdsa.GenerateKey(ECDSACurve, rand.Reader)
|
||||
privInterfaceKey, _, err := crypto.GenerateSecp256k1Key(rand.Reader)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
privKey = (*ecdsa.PrivateKey)((*btcec.PrivateKey)(privInterfaceKey.(*crypto.Secp256k1PrivateKey)))
|
||||
log.Warning("No private key was provided. Using default/random private key")
|
||||
}
|
||||
return privKey
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"crypto/ecdsa"
|
||||
"crypto/rand"
|
||||
"testing"
|
||||
|
||||
"github.com/btcsuite/btcd/btcec"
|
||||
"github.com/ethereum/go-ethereum/p2p/discv5"
|
||||
"github.com/libp2p/go-libp2p-core/crypto"
|
||||
"github.com/prysmaticlabs/prysm/shared/iputils"
|
||||
_ "go.uber.org/automaxprocs"
|
||||
)
|
||||
@@ -53,3 +57,31 @@ func TestBootnode_OK(t *testing.T) {
|
||||
t.Errorf("Wanted node ID of %s but got %s", listenerNode.ID, nodes[1].ID)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPrivateKey_ParsesCorrectly(t *testing.T) {
|
||||
privKey, _, err := crypto.GenerateSecp256k1Key(rand.Reader)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
marshalledKey, err := crypto.MarshalPrivateKey(privKey)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
encodedKey := crypto.ConfigEncodeKey(marshalledKey)
|
||||
*privateKey = encodedKey
|
||||
|
||||
extractedKey := extractPrivateKey()
|
||||
|
||||
rawKey := (*ecdsa.PrivateKey)((*btcec.PrivateKey)(privKey.(*crypto.Secp256k1PrivateKey)))
|
||||
|
||||
r, s, err := ecdsa.Sign(rand.Reader, extractedKey, []byte{'t', 'e', 's', 't'})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
isVerified := ecdsa.Verify(&rawKey.PublicKey, []byte{'t', 'e', 's', 't'}, r, s)
|
||||
if !isVerified {
|
||||
t.Error("Unmarshalled key is not the same as the key that was given to the function")
|
||||
}
|
||||
*privateKey = ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user