它具备一个总数量和符号两个成员。所以以上我们给exchange_state数字资产定义了两个connector,“BTC”和“USD”以及它们各自的发行量,正是采用这个asset的结构进行赋值的。
打印出state内容以后,显示的是两种token"USD"和"BTC"的发行信息,接下来,我们利用exchange中的一些函数功能进行两种token之间的转换及交易
。
auto new_state = convert(state, "dan", asset{100, "USD"}, asset{0, "BTC"});
print_state(new_state);
看一下这里面的convert函数的声明:
/**
* 通过给出的一个当前state,计算出一个新的state返回。
*/
exchange_state convert( const exchange_state& current,// 当前state
account_name user,// 用户
asset input,// 输入资产
asset min_output,// 最小输出资产
asset* out = nullptr) {
所以我们来解读第一行convert代码的意思为:
一个名为“dan”的用户,现有资产状态为上面已打印的state,输入资产为100个USD,最小输出资产为0个BTC(注意输入资产和最小输出资产必须是不同的,否则无法转化)。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-90843-12.html
台湾早被日本占领不还了
宜早不宜迟