Skip to content

Instantly share code, notes, and snippets.

@tyler-smith
Last active March 17, 2020 16:48
Show Gist options
  • Save tyler-smith/8e06350653f17f7b0a7272339ea67c8a to your computer and use it in GitHub Desktop.
Save tyler-smith/8e06350653f17f7b0a7272339ea67c8a to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"github.com/ava-labs/gecko/genesis"
"github.com/ava-labs/gecko/ids"
"github.com/ava-labs/gecko/vms/avm"
"github.com/ava-labs/gecko/vms/platformvm"
)
func main() {
chain := genesis.VMGenesis(12345, avm.ID)
fmt.Println("Ava chain name:", chain.ChainName)
fmt.Println("Ava chain network ID:", chain.NetworkID)
fmt.Println("Ava chain GenesisData len:", len(chain.GenesisData))
fmt.Println("Ava chain id:", chain.ID())
fmt.Println("Ava chain addr:", chain.Key())
fmt.Println("Ava chain bytes:", chain.Bytes())
// Output:
//
// Ava chain name: AVM
// Ava chain network ID: 12345
// Ava chain GenesisData len: 124
// Ava chain id: nil
// Ava chain addr: <nil>
// Ava chain bytes: []
}
func VMGenesisWithLogging(networkID uint32, vmID ids.ID) *platformvm.CreateChainTx {
genesisBytes := genesis.Genesis(networkID)
genesis := platformvm.Genesis{}
platformvm.Codec.Unmarshal(genesisBytes, &genesis)
fmt.Println("Genesis bytes len:", len(genesisBytes))
fmt.Println("genesis.Timestamp", genesis.Timestamp)
fmt.Println("genesis.Chains len:", len(genesis.Chains))
for _, chain := range genesis.Chains {
if chain.VMID.Equals(vmID) {
return chain
}
}
return nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment