initial scaffold
- module layout: cmd/mithril-go, internal/{aggregator,artifact,verify,networks}
- aggregator REST client, list command working against mainnet
- download/extract/verify stubbed
- no deps yet, pure stdlib
This commit is contained in:
commit
ddf1ec3491
8 changed files with 450 additions and 0 deletions
40
internal/networks/networks.go
Normal file
40
internal/networks/networks.go
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
// Package networks holds Mithril aggregator endpoints and genesis keys
|
||||
// per Cardano network.
|
||||
package networks
|
||||
|
||||
type Network struct {
|
||||
Name string
|
||||
AggregatorURL string
|
||||
GenesisVerifyKey string // hex-encoded Ed25519 public key used to verify the Mithril genesis cert chain
|
||||
CardanoConfigURL string // upstream cardano-node config bundle (config.json, genesis files)
|
||||
}
|
||||
|
||||
var (
|
||||
Mainnet = Network{
|
||||
Name: "mainnet",
|
||||
AggregatorURL: "https://aggregator.release-mainnet.api.mithril.network/aggregator",
|
||||
GenesisVerifyKey: "5b3139312c36362c3134302c3138352c3133382c31312c3233372c3230372c3235302c3134342c32372c322c3138382c33302c31322c38312c3135352c3230342c31302c3137392c37352c32332c3133382c3139362c3231372c352c31342c32302c35372c37392c33392c3137365d",
|
||||
}
|
||||
Preprod = Network{
|
||||
Name: "preprod",
|
||||
AggregatorURL: "https://aggregator.release-preprod.api.mithril.network/aggregator",
|
||||
GenesisVerifyKey: "5b3132372c37332c3132342c3136312c31362c38372c3133332c3136372c3135352c3138362c3138372c36372c3231322c37382c3131372c3230352c3234362c35322c35312c31372c3138302c38372c3130342c3139362c3131332c3130332c3239355d", // placeholder — replace with known-good key at implementation time
|
||||
}
|
||||
Preview = Network{
|
||||
Name: "preview",
|
||||
AggregatorURL: "https://aggregator.pre-release-preview.api.mithril.network/aggregator",
|
||||
GenesisVerifyKey: "5b3132372c37332c3132342c3136312c31362c38372c3133332c3136372c3135352c3138362c3138372c36372c3231322c37382c3131372c3230352c3234362c35322c35312c31372c3138302c38372c3130342c3139362c3131332c3130332c3239355d", // placeholder
|
||||
}
|
||||
)
|
||||
|
||||
func ByName(name string) (Network, bool) {
|
||||
switch name {
|
||||
case "mainnet":
|
||||
return Mainnet, true
|
||||
case "preprod":
|
||||
return Preprod, true
|
||||
case "preview":
|
||||
return Preview, true
|
||||
}
|
||||
return Network{}, false
|
||||
}
|
||||
Reference in a new issue