package peer import ( "crypto/rand" "fmt" "math/big" ) func NewID() (string, error) { limit := new(big.Int).Lsh(big.NewInt(1), 80) id, err := rand.Int(rand.Reader, limit) if err != nil { return "", err } return fmt.Sprintf("%0.20x", id), nil }