我正试图建立一个基于scrypto智能合同的拍卖网络应用程序。
我有一个register函数,它返回一个徽章,通过它我可以构建证据来调用其他需要身份验证的方法。
为了建立证据,我需要徽章的地址;使用pte,这怎么可能?
我用:
const manifestRegistration = new ManifestBuilder()
//call the register function
.callMethod(auction.auctionId, "register", [])
//deposit the resource into my account
.callMethodWithAllResources(accountAddress, "deposit_batch")
.build()
.toString()
const receiptRegistration = await signTransaction(manifestRegistration);
console.log(receiptRegistrationt)这是收据:
{
"transactionHash": "b737899a3b78692d2ba49d83ccedeacd66f6168d107a2962828d621d6c73cb37",
"status": "Success",
"outputs": [
"{\"type\":\"Bucket\",\"value\":\"Bucket(1027u32)\"}",
"{\"type\":\"Unit\"}"
],
"logs": [],
"newPackages": [],
"newComponents": [],
"newResources": []
}我如何知道返回桶中的资源是什么?
谢谢
发布于 2022-05-24 12:12:35
解决这个问题的第一件事是把地址作为字符串返回。
pub fn register() -> (Bucket, String) -> {
...
(badge, badge.resource_address().to_string())
}这应该会在outputs数组中弹出。
https://stackoverflow.com/questions/72362620
复制相似问题