如何获取徽章的资源地址

How to get the ressources address of a badge

我正在尝试构建基于加密智能合约的拍卖 Web 应用程序。

我有一个 register 函数,它 return 一个徽章,我可以从中构建证据来调用其他需要身份验证的方法。

要构建证明,我需要徽章的地址;使用 pte-sdk,那怎么可能?

我使用:

 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": []
}

我如何知道 returned 存储桶中的资源是什么?

谢谢

解决这个问题时我脑海中浮现的第一件事就是将地址作为字符串返回

pub fn register() -> (Bucket, String) -> {
  ...
  (badge, badge.resource_address().to_string())
}

这应该会在 outputs 数组中弹出