Skip to content

Commit

Permalink
nns: add ResolveFSContract example
Browse files Browse the repository at this point in the history
By @cthulhu-rider, thanks.

Signed-off-by: Roman Khimov <[email protected]>
  • Loading branch information
roman-khimov committed Sep 26, 2023
1 parent 28102a7 commit 14a2984
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions rpc/nns/example_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package nns_test

import (
"context"
"fmt"
"log"

"github.com/nspcc-dev/neo-go/pkg/rpcclient"
"github.com/nspcc-dev/neo-go/pkg/rpcclient/invoker"
"github.com/nspcc-dev/neofs-contract/rpc/nns"
)

// Resolve addresses of NeoFS smart contracts deployed in a particular
// NeoFS sidechain by their NNS domain names.
func ExampleContractReader_ResolveFSContract() {
const sidechainRPCEndpoint = "https://rpc1.morph.fs.neo.org:40341"

c, err := rpcclient.New(context.Background(), sidechainRPCEndpoint, rpcclient.Options{})
if err != nil {
log.Fatal(err)
}

err = c.Init()
if err != nil {
log.Fatal(err)
}

nnsAddress, err := nns.InferHash(c)
if err != nil {
log.Fatal(err)
}

nnsContract := nns.NewReader(invoker.New(c, nil), nnsAddress)

for _, name := range []string{
nns.NameAudit,
nns.NameBalance,
nns.NameContainer,
nns.NameNeoFSID,
nns.NameNetmap,
nns.NameProxy,
nns.NameReputation,
} {
addr, err := nnsContract.ResolveFSContract(name)
if err != nil {
log.Fatal(err)
}

fmt.Printf("%s: %s\n", name, addr)
}
}

0 comments on commit 14a2984

Please sign in to comment.