8001ed3030
Adding Cloudflare ensures additional redundancy. Switching to HTTP for PL nodes reduces latency and cost. Randomness is verified after being received.
75 lines
2.6 KiB
Go
75 lines
2.6 KiB
Go
package build
|
|
|
|
import (
|
|
"sort"
|
|
|
|
"github.com/filecoin-project/lotus/node/modules/dtypes"
|
|
)
|
|
|
|
type DrandEnum int
|
|
|
|
func DrandConfigSchedule() dtypes.DrandSchedule {
|
|
out := dtypes.DrandSchedule{}
|
|
for start, config := range DrandSchedule {
|
|
out = append(out, dtypes.DrandPoint{Start: start, Config: DrandConfigs[config]})
|
|
}
|
|
|
|
sort.Slice(out, func(i, j int) bool {
|
|
return out[i].Start < out[j].Start
|
|
})
|
|
|
|
return out
|
|
}
|
|
|
|
const (
|
|
DrandMainnet DrandEnum = iota + 1
|
|
DrandTestnet
|
|
DrandDevnet
|
|
DrandLocalnet
|
|
DrandIncentinet
|
|
)
|
|
|
|
var DrandConfigs = map[DrandEnum]dtypes.DrandConfig{
|
|
DrandMainnet: {
|
|
Servers: []string{
|
|
"https://api.drand.sh",
|
|
"https://api2.drand.sh",
|
|
"https://api3.drand.sh",
|
|
"https://drand.cloudflare.com",
|
|
},
|
|
Relays: []string{
|
|
"/dnsaddr/api.drand.sh/",
|
|
"/dnsaddr/api2.drand.sh/",
|
|
"/dnsaddr/api3.drand.sh/",
|
|
},
|
|
ChainInfoJSON: `{"public_key":"868f005eb8e6e4ca0a47c8a77ceaa5309a47978a7c71bc5cce96366b5d7a569937c529eeda66c7293784a9402801af31","period":30,"genesis_time":1595431050,"hash":"8990e7a9aaed2ffed73dbd7092123d6f289930540d7651336225dc172e51b2ce","groupHash":"176f93498eac9ca337150b46d21dd58673ea4e3581185f869672e59fa4cb390a"}`,
|
|
},
|
|
DrandTestnet: {
|
|
Servers: []string{
|
|
"https://pl-eu.testnet.drand.sh",
|
|
"https://pl-us.testnet.drand.sh",
|
|
"https://pl-sin.testnet.drand.sh",
|
|
},
|
|
Relays: []string{
|
|
"/dnsaddr/pl-eu.testnet.drand.sh/",
|
|
"/dnsaddr/pl-us.testnet.drand.sh/",
|
|
"/dnsaddr/pl-sin.testnet.drand.sh/",
|
|
},
|
|
ChainInfoJSON: `{"public_key":"922a2e93828ff83345bae533f5172669a26c02dc76d6bf59c80892e12ab1455c229211886f35bb56af6d5bea981024df","period":25,"genesis_time":1590445175,"hash":"84b2234fb34e835dccd048255d7ad3194b81af7d978c3bf157e3469592ae4e02","groupHash":"4dd408e5fdff9323c76a9b6f087ba8fdc5a6da907bd9217d9d10f2287d081957"}`,
|
|
},
|
|
DrandDevnet: {
|
|
Servers: []string{
|
|
"https://dev1.drand.sh",
|
|
"https://dev2.drand.sh",
|
|
},
|
|
Relays: []string{
|
|
"/dnsaddr/dev1.drand.sh/",
|
|
"/dnsaddr/dev2.drand.sh/",
|
|
},
|
|
ChainInfoJSON: `{"public_key":"8cda589f88914aa728fd183f383980b35789ce81b274e5daee1f338b77d02566ef4d3fb0098af1f844f10f9c803c1827","period":25,"genesis_time":1595348225,"hash":"e73b7dc3c4f6a236378220c0dd6aa110eb16eed26c11259606e07ee122838d4f","groupHash":"567d4785122a5a3e75a9bc9911d7ea807dd85ff76b78dc4ff06b075712898607"}`,
|
|
},
|
|
DrandIncentinet: {
|
|
ChainInfoJSON: `{"public_key":"8cad0c72c606ab27d36ee06de1d5b2db1faf92e447025ca37575ab3a8aac2eaae83192f846fc9e158bc738423753d000","period":30,"genesis_time":1595873820,"hash":"80c8b872c714f4c00fdd3daa465d5514049f457f01f85a4caf68cdcd394ba039","groupHash":"d9406aaed487f7af71851b4399448e311f2328923d454e971536c05398ce2d9b"}`,
|
|
},
|
|
}
|