update_asset
. You must provide raw JSON data structures for the options
object.create_asset
function looks like this:null
here for a UIA. Put {}
here for a market issued asset with the default price feed settings. Or you can price feed details here.null
for UIAs!true
or false
, whether or not you want to broadcast the transaction.common
parameter:null
for the second to last parameter is essential for making a user issued asset. {}
for the parameter could be used to construct a market issued asset, but that is the subject of another guide.update_asset
, has been created for this purpose.asset_object::asset_options
struct. This command is used to update these options for an existing asset.update_asset
function looks like this:null
if you wish to remain the issuer of the asset.true
or false
, whether or not you want to broadcast the transaction.common
parameter:update_asset
will overwrite all the perviously set options with the new options you enter here. So make sure all the options you need are present in the new options object!asset_options
object contains the options that are common to all assets. This is why it's necessary to supply for both UIAs and MIAs. The options need to be passed as a raw JSON object that contains these settings:charge_market_fee
: an issuer-specified percentage of all market trades in this asset is paid to the issuer.white_list
: accounts must be white-listed in order to hold this asset.override_authority
: issuer may transfer asset back to their own account from another account.transfer_restricted
: require the issuer to be one party to every transfer.disable_force_settle
: disable force settling.global_settle
: (only for MIAs) allows market asset issuer to force a global settling - this may be set in permissions, but should not be set as a flag. Unless, for instance, a prediction market has to be resolved. If this flag has been enabled, no further shares can be borrowed!disable_confidential
: allow the asset to be used with confidential transactions.witness_fed_asset
: allow the asset to be fed by witnesses.committee_fed_asset
: allow the asset to be fed by the committee.asset_details
are integers and are a sum of the following mapping:flags
to 0, which means all of these are disabled initially. The permissions
is set to 79, which means that "charge_market_fee", "white_list", "override_authority", and "disable_confidential" are able to be modified later. The other properties are immutable since they were set to false initially.core_exchange_rate
option consists of a base
section and a quote
section:asset_id
in the base
section will always be "1.3.0"
, the ID of PPY.asset_id
in the quote
section will be unknown at the time the asset is being created. That's ok. Putting "1.3.1"
here will be detected and overwritten by the blockchain with the new ID. Then you can get the new ID with the get_asset
function.create_asset
doesn't actually produce the new tokens into anyone's account. For that we use the issue_asset
function.create_asset
.issue_asset
function looks like this:true
or false
, whether or not you want to broadcast the transaction.son-account
. If a genuine user wants to create an asset with the symbol, the SONs will raise a proposal and the Witnesses will vote to transfer the ownership to the user.