Documentation
WebsiteMineGitHubFaucet
  • Welcome to MakeOS
  • Introduction
    • Install
    • Quick Start
    • Set Up a Private Network
    • Get Test Coins
    • Track a Repository
    • What is MakeOS
    • How it Works
    • Tokenomics ($MAKE)
    • Dilithium (Deprecated)
    • Roadmap
    • Team
  • Concepts
    • Repository
      • Register a Repository
      • Initialize a New Repository
      • Repository Governance
      • Access Control Config
    • Namespace
    • Key
    • Issue Management
    • Merge Request
    • Transactions
      • Register a Repository
      • Send Coins
    • Validator
    • Host
    • Remote
  • JavaScript Console API
    • repo
    • pushkey
    • namespace
    • node
    • user
    • transaction
    • ticket
  • KIT CLI Reference
    • Overview
    • init
    • start
    • console
    • attach
    • key
      • create
      • gen
      • get
      • import
      • list
      • update
    • tx
      • get
    • repo
      • config
      • create
      • hook
      • init
      • vote
    • user
      • send
    • pk
      • register
    • sign
      • commit
      • note
      • tag
    • contributor
      • add
    • issue
      • close
      • create
      • list
      • read
      • reopen
      • status
    • mr
      • checkout
      • close
      • create
      • fetch
      • list
      • read
      • reopen
      • status
Powered by GitBook
On this page
  • register
  • Parameters
  • Returns
  • Example
  • update
  • Parameters
  • Returns
  • Example
  • unregister
  • Parameters
  • Returns
  • Example
  • get
  • Parameters
  • Returns
  • Example
  • getByAddress
  • Parameters
  • Returns
  • Example
  • getAccountOfOwner
  • Parameters
  • Returns
  • Example

Was this helpful?

  1. JavaScript Console API

pushkey

This module allows you to create and manage push keys. It can be accessed from the global variable pk.

register

pk.register(txObject, [signingKey | payloadOnly | [signingKey, payloadOnly]])

Send a transaction to register a public key as a push key.

Parameters

  1. txObject - Object: The transaction object

    • pubKey - String: (optional) A base58 encoded public key to be registered.

    • scopes - Array<String>: (optional) A list of repositories or namespaces where the push key can be used.

    • feeCap - String: (optional) The maximum amount of fee the key can spend from its creator's account.

    • 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.

  2. signingKey - String: (optional) The private key that will be used to sign the transaction.

  3. payloadOnly - Boolean: (optional) When true, the transaction payload is returned instead of being sent to the network.

Returns

Object - The result object

  • hash - String: A 32 bytes transaction hash.

  • address - String: A bech32 encoded push key address.

Example

  • Create a transaction to register a public key on the network.

pk.register({ 
   pubKey: "49G1iGk8fY7RQcJQ7LfQdThdyfaN8dKfxhGQSh8uuNaK35CgazZ",
   fee: 1
}, user.getKey(accounts[0]))

update

pk.update(txObject, [signingKey | payloadOnly | [signingKey, payloadOnly]])

Send a transaction to update a previously registered public key.

Parameters

  1. txObject - Object: The transaction object

    • id - String: The push key address.

    • addScopes - Array<String>: (optional) A list of repositories or namespaces where the push key can be used.

    • removeScopes - Array<Number>: (optional) Index of scopes to be removed.

    • feeCap - String: (optional) The maximum amount of fee the key can spend from its creator's account.

    • delete - Boolean: Indicates that the public key should be deleted.

    • 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.

  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.

Returns

Object - The result object

  • hash - String: A 32 bytes transaction hash.

Example

  • Create a transaction to update a push key.

pk.update({
   id:"pk1wfx7vp8qfyv98cctvamqwec5xjrj48tpkfwme7", 
   addScopes:"repos/", 
   removeScopes:[0], 
   fee: "0.01"
}, user.getKey(accounts[0]))

unregister

pk.unregister(txObject, [signingKey | payloadOnly | [signingKey, payloadOnly]])

Send a transaction to delete a public key.

Parameters

  1. txObject - Object: The transaction object

    • id - String: The push key address.

    • 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.

  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.

Returns

Object - The result object

  • hash - String: A 32 bytes transaction hash.

Example

  • Create a transaction to unregister a push key from the network.

pk.unregister({
   id:"pk1wfx7vp8qfyv98cctvamqwec5xjrj48tpkfwme7",  
   fee: "0.01"
}, user.getKey(accounts[0]))

get

pk.get(address, [height])

Get a push key by its address.

Parameters

  1. address - String: The push key address.

  2. height - Number|String: (optional) The block height to query (Default: latest).

Returns

Object - The result object

  • hash - String: A 32 bytes transaction hash.

Example

pk.get("pk1wfx7vp8qfyv98cctvamqwec5xjrj48tpkfwme7")
{
  "address": "os1wfx7vp8qfyv98cctvamqwec5xjrj48tpklxklh",
  "feeCap": "0",
  "feeUsed": "0",
  "pubKey": [194,198,203,80,111,17,78,208,207,230,2,194,128,230,32,142,235,100,71,14,125,69,42,169,244,21,135,16,221,231,27,230]
}

getByAddress

pk.getByAddress(address)

Get a list of push keys belonging to an address.

Parameters

  1. address - String: The push key address.

Returns

Array<Object> - The list of objects

  • address - String: The address of the push key owner.

  • feeCap - String: The maximum fee the push key is allowed to spend from the owner’s account.

  • feeUsed - String: The amount of Latinum spent on fees.

  • pubKey - Array<Number> - The public key

Example

pk.get("pk1wfx7vp8qfyv98cctvamqwec5xjrj48tpkfwme7")
{
  "address": "os1wfx7vp8qfyv98cctvamqwec5xjrj48tpklxklh",
  "feeCap": "0",
  "feeUsed": "0",
  "pubKey": [194,198,203,80,111,17,78,208,207,230,2,194,128,230,32,142,235,100,71,14,125,69,42,169,244,21,135,16,221,231,27,230]
}

getAccountOfOwner

pk.getOwner(address, [height])

Get the account that owns the given push key.

Parameters

  1. address - String: The push key address.

  2. height - Number|String: (optional) The block height to query (Default: latest).

Returns

Account

Example

pk.getOwner("pk1wfx7vp8qfyv98cctvamqwec5xjrj48tpkfwme7")
{ 
   "balance": "4979.98",
   "nonce": "19",
}
PreviousrepoNextnamespace

Last updated 4 years ago

Was this helpful?