obyte.js
GitHubDiscord
0.1.19
0.1.19
  • Obyte.js
  • Getting started
    • Quick start
    • Testnet
  • API
    • Get witnesses
    • Get peers
    • Get joint
    • Get last MCI
    • Get history
    • Get attestation
    • Get attestations
    • Get bots
    • Get asset metadata
    • Get definition
    • Get balances
    • Get profile units
    • Get data feed
    • Autonomous Agents
      • Dry run AA
      • Get AA state vars
      • Get AAs by base AAs
      • Get AA responses
      • Get AA response chain
      • Execute AA getter
    • Core
      • Catchup
      • Get hash tree
      • Get light props
      • Post joint
      • Pick divisible coins for amount
      • Heartbeat
  • Post
    • Address definition change
    • Attestation
    • Asset
    • Asset attestors
    • Data
    • Data feed
    • Definition
    • Definition template
    • Payment
    • Poll
    • Vote
    • Profile
    • Text
    • Multi
  • Client
    • Subscribe
    • Just saying
    • Requests
  • Utils
    • Sign a message
    • Validate signed message
    • Generate a random address
    • Get definition address
    • Is valid address
    • Keep connection alive
  • About
    • About
    • Links
    • Tutorials
Powered by GitBook
On this page
  • Arguments
  • Returns
  • Example
  • Learn more
  1. Post

Asset

Assets in Byteball can be issued, transferred, and exchanged, and.they behave similarly to the native currency ‘bytes’.

PreviousAttestationNextAsset attestors

Last updated 4 years ago

Arguments

  • cap integrer optional Is the total number of coins that can be issued (money supply). If omitted, the number is unlimited.

  • is_private boolean required Indicates whether the asset is private (such as blackbytes) or publicly traceable (similar to bytes).

  • is_transferrable boolean required Indicates whether the asset can be freely transferred among arbitrary parties or all transfers should involve the definer address as either sender or recipient. The latter can be useful e.g. for loyalty points that cannot be resold.

  • auto_destroy boolean required

    Indicates whether the asset is destroyed when it is sent to the definer address.

  • fixed_denominations boolean required

    Indicates whether the asset exists as coins (banknotes) of a limited set of denominations, similar to blackbytes. If it is true, the definition must also include property denominations, which is an array of all denominations and the number of coins of that denomination.

  • denominations array optional Array of all denominations and the number of coins of that denomination.

  • issued_by_definer_only boolean required Indicates whether the asset can be issued only by the definer address. If false, anyone can issue the asset, in this case cap must be unlimited.

  • cosigned_by_definer boolean required Indicates whether each operation with the asset must be cosigned by the definer address. Useful for regulated assets where the issuer (bank) wants to perform various compliance checks (such as the funds are not arrested by a court order) prior to approving a transaction.

  • spender_attested boolean required Indicates whether the spender of the asset must be attested by one of approved attestors. Also useful for regulated assets e.g. to limit the access to the asset only to KYC'ed users. If true, the definition must also include the list of approved attestor addresses.

  • attestors array optional List of approved attestor addresses

  • issue_condition array optional Specify the restrictions when the asset can be issued. It evaluate to a boolean and are coded in the same as address definitions.

  • transfer_condition array optional Specify the restrictions when the asset can be transferred. It evaluate to a boolean and are coded in the same as address definitions.

Returns

Returns the unit hash.

Example

const params = {
  cap: 1000000, 
  is_private: false, 
  is_transferrable: true, 
  auto_destroy: false, 
  fixed_denominations: false, 
  issued_by_definer_only: true, 
  cosigned_by_definer: false, 
  spender_attested: false
}; 

client.post.asset(params, wif, function(err, result) {
  if (err) return console.error(err);
  console.log(result);
  // -> xamdfH5Uk+alv3le0pEA01qSsfZjycyMsqaqHtycJ1M=
});

Learn more

"24. Assets" (page 33)

Issuing assets on Obyte:

Smart contracts:

Obyte Wiki:

Obyte Asset Registry:

smart contract language
smart contract language
https://obyte.org/Byteball.pdf
https://github.com/byteball/ocore/wiki/Issuing-assets-on-Byteball
https://github.com/byteball/ocore/wiki/Smart-contracts
https://wiki.obyte.org/Asset
https://obyte.app