namespace
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.
- 1.
txObject
-Object
: The transaction objectname
-String
: The unique namevalue
-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 witha/
or a repository name prefixed withr/
.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 thesigningKey
.
- 2.
signingKey
-String
: (optional) The private key to use to sign the transaction. - 3.
payloadOnly
-Boolean
: (optional) When true, the transaction payload is returned instead of being sent to the network.
Object
- The result objecthash
-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.
- 1.
txObject
-Object
: The transaction objectname
-String
: The unique namedomains
-Object
: The namespace domain and target pairs. Domain must contain only alphanumeric (plus underscore and hyphen) characters. Target must be a user address prefixed witha/
or a repository name prefixed withr/
.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 thesigningKey
.
- 2.
signingKey
-String
: (optional) The private key to use to sign the transaction. - 3.
payloadOnly
-Boolean
: (optional) When true, the transaction payload is returned instead of being sent to the network.
Object
- The result objecthash
-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.
- 1.
name
-String
: The name of the namespace. - 2.
height
-String|Number
: (optional) The block height to query (Default: latest).
Object
- The result objectname
-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.
- 1.
path
-String
: The domain pathnamespace/domain
- 2.
height
-String|Number
: (optional) The block height to query (Default: latest).
String
- The target valueJavaScript
Output
// sends a transaction to register a namespace
ns.getTarget("myname/target")
"r/repo"
Last modified 2yr ago