Name & Address Lookup
The following Go code and example command-line application demonstrates how to efficiently resolve the smart-signature account address for a name, or an address on-chain.
See https://go.dev/learn/ if you want a quick start with go. Other implementations will be provided, but this code should be fairly understandable and easily translated to other languages.
See https://github.com/TxnLab/nfd-cli-examples for a simple CLI program that provides, name, reverse-address lookup (verified, linked addresses), 'owned by' lookup (3.4+), as well as decoding/displaying of all the metadata within an NFD.
This program supports looking up / reading V2+ NFDs as well as V1.
To lookup the smart-signature account address for nfdomains.algo, you could use the following example command-line application and run:
go run ./main.go -name nfdomains.algo
Which (for mainnet) will output:
Found as V2 name, ASA ID:763844429, APP ID:763844423 ...
This can be verified against the API, by using the nameSig REST API, a GET request to https://api.nf.domains/nfd/nameSig/nfdomains.algo which should return the exact same address.
To be able to look up the NFD app ids for a particular address, run:
go run ./main.go -addr RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I
Which will output:
Found 1 NFDs linked as V2 address [...]
The reverse address verification API for the same: https://api.nf.domains/nfd/revAddressSig/RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I
To be able to look up the NFD app ids owned by a particular address, run:
go run ./main.go -addr RSV2YCHXA7MWGFTX3WYI7TVGAS5W5XH5M7ZQVXPPRQ7DNTNW36OW2TRR6I -owns
This will display all 3.x NFDs owned by a particular address. V1/V2 NFDs are not fetchable using this solution. The NFD API will need called instead (or you will need to index NFDs yourself).
Last updated