首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建白名单作为智能资产?

如何创建白名单作为智能资产?
EN

Stack Overflow用户
提问于 2019-02-27 06:00:20
回答 1查看 99关注 0票数 1

我需要有人帮我创建一个简单的智能资产。我只想让你不能在任何对下交易,它只能发送到2个特定的波地址。有人能帮我一下吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-27 06:43:57

您可以在Waves Console中使用Data transaction将地址列表添加到发件人帐户中(这里我将两个地址添加到白名单中),然后将事务广播到网络:

代码语言:javascript
复制
const DataTx = 
data(
{
data: [
{key: "3Mt2yEuqDZVSfN7jqzvtkresLRah329k2ya", value: 12},
{key: "3N17vWKRThx5eKkPLC18UjyUuFr4X3sSKCD", value: 10}], 
fee: 1500000
}
   )
broadcast(DataTx)

对于智能合约,您只能通过检查发送方白名单帐户中是否定义了收件人地址,才能使用pattern matching mechanism允许转账交易,否则将不允许转账交易:

代码语言:javascript
复制
let whiteListAccount = tx.sender //In this line, we just defined the sender (in our case Bob).
match tx 
{  
case tx : TransferTransaction => let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes)
isDefined(getInteger(whiteListAccount, recipient))
case _ => true 
}

之后,您将需要编译智能合约,并通过Waves控制台设置脚本,如下所示:

代码语言:javascript
复制
const Tx = setScript
 (
{
Script: compile(contract()),
senderPublicKey:publicKey(),
Fee:1400000
}
 )

broadcast(Tx)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54894834

复制
相关文章

相似问题

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