This module allows you to create and manage namespaces. It can be accessed from the global variable ns
.
ns.register(txObject, [signingKey | payloadOnly | [signingKey, payloadOnly]])
Send a transaction to register a public key as a push key.
txObject
- Object
: The transaction object
name
- String
: The unique name
value
- String
: The namespace registration fee.
to
- String
: (optional) The user address or repository that will own and control the namespace.
domains
- Object
: The namespace domain and target pairs. The domain must contain only alphanumeric (plus underscore and hyphen) characters. The target must be a user address prefixed with a/
or a repository name prefixed with r/
.
nonce
- Number|String
: The signing account’s next nonce.
fee
- String
: The network fee to be paid by the signing account.
timestamp
- String
: (optional) The unix timestamp of the transaction.
sig
- String
: (optional) The transaction signature. If not provided, the transaction will be signed using the signingKey
.
signingKey
- String
: (optional) The private key to use to sign the transaction.
payloadOnly
- Boolean
: (optional) When true, the transaction payload is returned instead of being sent to the network.
Object
- The result object
hash
- String
: A 32 bytes transaction hash.
Create a transaction to register a namespace.
ns.register({value: "1",fee: "1",name: "myname",domains: {"target": "r/repo","target2": "a/os1qfrysysaawvjlgfz5ecqv569adkkw7sxudy36u"},}, user.getKey(accounts[0]))
ns.updateDomain(txObject, [signingKey | payloadOnly | [signingKey, payloadOnly]])
Send a transaction to register a public key as a push key.
txObject
- Object
: The transaction object
name
- String
: The unique name
domains
- Object
: The namespace domain and target pairs. Domain must contain only alphanumeric (plus underscore and hyphen) characters. Target must be a user address prefixed with a/
or a repository name prefixed with r/
.
nonce
- Number|String
: The signing account’s next nonce.
fee
- String
: The network fee to be paid by the signing account.
timestamp
- String
: (optional) The unix timestamp of the transaction.
sig
- String
: (optional) The transaction signature. If not provided, the transaction will be signed using the signingKey
.
signingKey
- String
: (optional) The private key to use to sign the transaction.
payloadOnly
- Boolean
: (optional) When true, the transaction payload is returned instead of being sent to the network.
Object
- The result object
hash
- String
: A 32 bytes transaction hash.
Create a transaction to update the domains of a namespace.
ns.updateDomain({value: "1",fee: "1",name: "ns-xyz",domains: {"target": "r/repo"}}, user.getKey(accounts[0]))
ns.lookup(name, [height])
Find a namespace by its name.
name
- String
: The name of the namespace.
height
- String|Number
: (optional) The block height to query (Default: latest).
Object
- The result object
name
- String
: The namespace name.
owner
- String
: The user address or repository that owns the namespace.
expiresAt
- String
: The block height when the namespace lease expires.
graceEndAt
- String
: The block height when grace period will end.
expired
- Boolean
: When true, it means the namespace has expired.
grace
- Boolean
: When true, it means that namespace has expired and in the grace period.
Create a transaction to register a namespace.
ns.register({value: "1",fee: "1",name: "google",domains: {"target": "r/repo","target2": "a/os1qfrysysaawvjlgfz5ecqv569adkkw7sxudy36u"}}, user.getKey(accounts[0]))
ns.getTarget(path, [height])
Find a namespace by its name.
path
- String
: The domain path namespace/domain
height
- String|Number
: (optional) The block height to query (Default: latest).
String
- The target value
// sends a transaction to register a namespacens.getTarget("myname/target")
"r/repo"