首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Payment.assetId数据类型

Payment.assetId数据类型
EN

Stack Overflow用户
提问于 2019-04-05 18:48:32
回答 1查看 59关注 0票数 1

我正在尝试处理示例https://docs.wavesplatform.com/en/smart-contracts/ride4dapps/examples.html,并对其进行了一些更改,以将其扩展到任何类型的资产。目前还不清楚返回给函数的是哪种类型的数据,以及如何将其带到字符串中,以便稍后可以将其写入状态。

代码语言:javascript
复制
let payment = match(i.payment) { #even none or exact amount of the attached payment(InvokeScriptTransaction).
    case p : AttachedPayment => p
    case _ => throw("You have to provide a payment to deposit")
  }

let assetId = toBase58String(payment.assetId)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-06 02:24:30

如果你尝试编译你的代码,你会看到如下所示的错误

代码语言:javascript
复制
Compilation failed: Non-matching types: expected: ByteVector, actual: UNION(ByteVector|Unit) in 2176-2207

每次当变量的值不明确时,必须使用extract函数来提取值。在这种情况下,您可以获得Unit (表示Waves assetId)或byteVector (其他资产的assetId),因此您必须提取。下面的代码将适用于您的情况:

代码语言:javascript
复制
let assetId = toBase58String(extract(payment.assetId))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55533749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档