嘿,伙计们,所以我在摆弄一个dapp的主意。。
当我从智能合同中得到一个具体的地址时,
它给了我一种特定的编码类型
例如,9HUG4x4wVzHmXRedwA6b9ygZbN/KGeDfmRDLgGZtLmI=。
如何将它解码到我想要的公共地址?
发布于 2022-08-18 15:01:21
答案https://stackoverflow.com/a/73395946/2945326是一种在智能契约中将base64地址解码为32字节原始地址/公钥的方法。在大多数情况下,您应该避免在智能契约中解码base64。相反,您应该确保智能契约总是直接处理原始字节。
如果您想解码智能契约之外的地址(例如,在网站上显示地址),那么您需要首先解码base64。这会给你一个32字节的原始地址/公钥.要显示,需要将其转换为https://developer.algorand.org/docs/get-details/encoding/#address之后的地址。
具体来说,在Python中:
import base64
import algosdk
raw_address_bytes = base64.b64decode("ZXUc/psAtm6K6AOMpvytibbSa8H6WFc6O8XTp/rHuEE=")
address = algosdk.encoding.encode_address(raw_address_bytes)
print(address)显示
MV2RZ7U3AC3G5CXIAOGKN7FNRG3NE26B7JMFOOR3YXJ2P6WHXBA4IGKRJ4请参阅https://forum.algorand.org/t/how-to-convert-public-key-back-to-address-in-js-sdk/3643/3?u=fabrice
发布于 2022-08-17 23:35:27
https://stackoverflow.com/questions/73395922
复制相似问题