2020-11-18 05:30:25 -08:00
|
|
|
package devnet
|
|
|
|
|
|
|
|
import (
|
|
|
|
mathrand "math/rand"
|
|
|
|
|
2022-09-05 20:36:58 -07:00
|
|
|
"github.com/libp2p/go-libp2p/core/crypto"
|
2020-11-18 05:30:25 -08:00
|
|
|
)
|
|
|
|
|
|
|
|
// DeterministicP2PPrivKeyByIndex generates a deterministic libp2p crypto.PrivateKey from a given index.
|
|
|
|
func DeterministicP2PPrivKeyByIndex(idx int64) crypto.PrivKey {
|
2023-05-03 15:28:38 -07:00
|
|
|
r := mathrand.New(mathrand.NewSource(idx)) //#nosec G404 testnet / devnet keys are public knowledge
|
2020-11-18 05:30:25 -08:00
|
|
|
priv, _, err := crypto.GenerateKeyPairWithReader(crypto.Ed25519, -1, r)
|
|
|
|
if err != nil {
|
|
|
|
panic(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
return priv
|
|
|
|
}
|