概述
自定义代币
要创建一个新的自定义代币(user_issued_asset),请使用 create_user_issued_asset 方法。除了 symbol (符号)和 precision (精确值)两个参数外,可以通过调用 update_asset 命令变更其他的参数。请注意,如果在第一步把参数 is_fixed_max_supply 设置为 true ,那么便无法通过调用 update_asset 方法更新 max_supply 参数。参数一经设置,便无法修改。代币发行人也可以修改,但仅限当前有效的发行人修改。另外请注意, core_exchange_rate (核心汇率)使用的是DCT代币的中本聪表示法,并且定义为名为“基础”(base)和“引用”(quote)的比率,在这里“引用”为分母。
方法介绍:
create_user_issued_asset - 创建新的用户发布的资产。部分选项在之后可以通过使用 update_asset 方法进行变更。
signed_transaction
create_user_issued_asset(string issuer,
string symbol,
uint8_t precision,
string description,
uint64_t max_supply,
price core_exchange_rate,
bool is_exchangeable,
bool is_fixed_max_supply,
bool broadcast = false);
参数:
- issuer - 支付费用并成为新创建资产发行者的账户名称或id。发行者名称可以在之后更新
- symbol - 新创建资产的符号
- precision - 小数点右边精确到的数值,即币种精度,必须小于等于12。举例说明:如果数值的设置是0,即币种精度为0,也就是说资产数之后没有小数点。
- description - 资产的详细介绍。最大长度为1000字符。
- max_supply - 资产的最大发行量。该资产一旦发行,将永久存在。
- core_exchange_rate - Core_exchange_rate(核心汇率)技术上要求存储新创建资产的资产id。由于该id在创建此资产时还没有产生,所以创建价格的时候可以把id当成1(之前提供的例子当中,我们使用的是1.3.1,DCT代币码为1.3.0),之后区块链会用新的资产id覆盖之前的id。
- is_exchangeable - 允许资产与核心资产之间的间接转换,则显示为true
- is_fixed_max_supply - 否定之后对max_supply参数进行修改,则显示为true
- broadcast - 若想在网络上广播交易,则显示为true
返回值:
- 创建新的自定义代币的已签名交易。
举例说明:
create_user_issued_asset alien MCCC 0 "Mick credits" 10000 {"base":{"amount":200000000,"asset_id":1.3.0},"quote":{"amount":1,"asset_id":1.3.1}} true false true
回应:
{
"ref_block_num": 59571,
"ref_block_prefix": 4222948911,
"expiration": "2018-04-23T14:06:20",
"operations": [[
3,{
"fee": {
"amount": 100000000,
"asset_id": "1.3.0"
},
"issuer": "1.2.30",
"symbol": "MCCC",
"precision": 0,
"description": "Mick credits",
"options": {
"max_supply": 10000,
"core_exchange_rate": {
"base": {
"amount": 200000000,
"asset_id": "1.3.0"
},
"quote": {
"amount": 1,
"asset_id": "1.3.1"
}
},
"is_exchangeable": true,
"extensions": [[
1,{
"is_fixed_max_supply": false
}
]
]
},
"is_exchangeable": true,
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"20331fca29ff7de6dafb3cb180d1a1920b601c1c2587b2e7634a609f689a55a9575600e4553381362731cfe2dd07a0ab8a2ec7ac7a5b2f764d68d506012658acfe"
]
}
创建用户发行资产的API开发者文档
发行已创建资产
自定义代币发行者可以在任意时间发行自定义代币。唯一的限制是以 max_supply (最大发行量)为准。
方法介绍:
- issue_asset - 发行自定义代币新的所得份额。
signed_transaction issue_asset(string to_account,
string amount,
string symbol,
string memo,
bool broadcast = false);
参数:
- to_account - 获得新的所得份额的账户名称或id
- amount - 每个代币的金额数量
- symbol - 代发行资产的符号
- memo - 交易中包含的信息,对接收者可读
- broadcast - 若要在网络上广播交,则显示为true
返回值:
• 发行新所得份额的已签字交易。
举例说明:
issue_asset mickey 500 MCC "creating funds" true
回应:
issue_asset mickey 500 MCC "creating funds" true
{
"ref_block_num": 39762,
"ref_block_prefix": 3654765070,
"expiration": "2017-11-14T13:11:50",
"operations": [[
4,{
"fee": {
"amount": 552734,
"asset_id": "1.3.0"
},
"issuer": "1.2.73",
"asset_to_issue": {
"amount": 500,
"asset_id": "1.3.34"
},
"issue_to_account": "1.2.73",
"memo": {
"from": "DCT5VrGVjdjUqmg8bKDXZAC3C8ib28WXJVTmWQ8A9SKXTgGPMX7yP",
"to": "DCT5wSrG4yDau5ADsCizp6XDiMfYezmUWc81ieakMcxr8EcnkS2Xa",
"nonce": "12179244057494284541",
"message": "91d85802da178df3f5f74f419084481a2a01b843449f82a7788bed829fa2b50a"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"1f215bca01f517105bb8649828abdca0799bea89ec00bfaca992572a5b6a0983571a8c961705fc39dce8d2f024f2eecaea6132e80b6a18d4463ec04f5103272669"
]
}
发行资产的API开发者文档
通过访问 list_account_balances 确认资产是否已创建。
举例说明:
list_account_balances mickey
回应:
list_account_balances mickey
[{
"amount": "100037396947266",
"asset_id": "1.3.0"
},{
"amount": 500,
"asset_id": "1.3.34"
}
]
列出账户余额的API开发者文档
资金池
一旦资产发行,您可以向资产池投放资金。资产池用于资金和DCT代币的相互转换。对于以相对稳定的货币设置内容价格很有益。
方法介绍:
fund_asset_pools - 用指定资产向资产池付费。自定义代币可以选择为核心资产(DCT代币)创建资产池,资产池可用于自动使用资产为任意交易支付交易费用(使用资产核心汇率)。任意用户可将核心/资产存入资产池。资产需要转换的时候,资产池便会发挥作用(例如付费,使用其他资产为内容付费)。
signed_transaction fund_asset_pools(string from,
string uia_amount,
string uia_symbol,
string dct_amount,
string dct_symbol,
bool broadcast = false);
参数:
- from - 发送核心资产的账户名称或id
- uia_amount - “此项”资产的待存储数额
- uia_symbol - 您希望投入资金的资产池名称或id
- dct_amount - 待存入的核心资产数额
- dct_symbol - DCT资产的名称或id
- broadcast - 若在全网广播交易,则显示为true
返回值:
- 为付费资产池投入资金的已签字交易。
举例说明:
fund_asset_pools mickey 900 MCC 1000 DCT true
回应:
fund_asset_pools mickey 900 MCC 1000 DCT true
{
"ref_block_num": 40906,
"ref_block_prefix": 3394212377,
"expiration": "2017-11-14T15:03:00",
"operations": [[
33,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"from_account": "1.2.73",
"uia_asset": {
"amount": 900,
"asset_id": "1.3.34"
},
"dct_asset": {
"amount": "100000000000",
"asset_id": "1.3.0"
},
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"1f54b76013f3fe6082951703201943e9266b1269edf3f4ac2aefac43ea2bdf9831509f6191de0a3b88df1bd16d1126f88ef1f6db4d81a9ba78f1854d7e8ddf5a7f"
]
}
为资产池投入资金的API开发者文档
找到资产id
查找资产 id 以及 dynamic_asset_data_id (动态资产数据)目标项id,用于提供有关资金供应池或资金池的信息。
方法介绍:
get_asset - 返回有关指定资产的信息
asset_object get_asset(string asset_name_or_id);
参数:
- asset_name_or_id - 被询问资产的符号或id
返回值:
- 存储于区块链中的资产信息。
举例说明:
get_asset MCC
回应:
get_asset MCC
{
"id": "1.3.34",
"symbol": "MCC",
"precision": 0,
"issuer": "1.2.73",
"description": "Mickey credits",
"options": {
"max_supply": 10000,
"core_exchange_rate": {
"base": {
"amount": 200000000,
"asset_id": "1.3.0"
},
"quote": {
"amount": 1,
"asset_id": "1.3.34"
}
},
"is_exchangeable": true,
"extensions": []
},
"dynamic_asset_data_id": "2.3.34"
}
获取资产的API开发者文档
dynamic_asset_data_id (动态资产数据)目标id
举例说明:
get_object "2.3.34"
回应:
[{
"id": "2.3.33",
"current_supply": 0,
"asset_pool": 0,
"core_pool": 1250000
}
]
用 core_pool 参数的单位为DCT代币以及Satoshi表示法。
获取目标项的API开发者文档
更新资产参数
使用 update_user_issued_asset 方法更新已存在的资产参数。请注意只有资产发行者可以更新资产参数。若变更汇率参数,请确认资产id是正确的 - 此例中资产id为1.3.34。在此提醒下,DCT的id为1.3.0。您可以通过使用上一部分提到的 get_asset 方法获取资产id。
方法介绍:
update_user_issued_asset - 更新指定自定义代币的选项。自定义代币的一些选项与其他资产类型并不相关。此操作就是用来更新这些选项的。
signed_transaction update_user_issued_asset(string symbol,
string new_issuer,
string description,
uint64_t max_supply,
price core_exchange_rate,
bool is_exchangeable,
bool broadcast = false);
参数:
- symbol - 待更新资产的名称或id,资产必须为市场上发行的资产
- new_issuer - 若资产将交于新的发行者,以此指令指定新发行者id
- description - 资产详细介绍
- max_supply - 资产最大发行量,该资产一旦发行,将永久存在。
- core_exchange_rate - 用于将非核心资产转移为核心资产的价值
- is_exchangeable - 允许资产与核心资产之间的转换,则显示为true
- broadcast - 若要在网络上广播交易,则显示为true
返回值:
- 更新用户发行资产的已签字交易
举例说明:
update_user_issued_asset MCC "" "" 20000 {"base":{"amount":200000000,"asset_id":1.3.0},"quote":{"amount":1,"asset_id":1.3.34}} true true
回应:
{
"ref_block_num": 5707,
"ref_block_prefix": 3762837208,
"expiration": "2017-11-16T13:22:55",
"operations": [[
36,{
"fee": {
"amount": 0,
"asset_id": "1.3.0"
},
"issuer": "1.2.73",
"asset_to_update": "1.3.34",
"new_description": "",
"max_supply": 20000,
"core_exchange_rate": {
"base": {
"amount": 200000000,
"asset_id": "1.3.0"
},
"quote": {
"amount": 1,
"asset_id": "1.3.34"
}
},
"is_exchangeable": true,
"extensions": []
}
]
],
"extensions": [],
"signatures": [
"20323b8730d22cad290b935baaf0612be39f71780a32fb94d65c81bb408b882dc7247a593c8a00e64194eb1a8876db94716751eecc9e38d5d83c1fe1f25a04a4bb"
]
}
更新用户发行资产的API开发者文档
最后
以上就是大方含羞草为你收集整理的DCore应用案例(七): 发行自定义代币(UIA)的全部内容,希望文章能够帮你解决DCore应用案例(七): 发行自定义代币(UIA)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复