如何获取存储在区块链中的数据,然后显示在网页上?

Posted

技术标签:

【中文标题】如何获取存储在区块链中的数据,然后显示在网页上?【英文标题】:How can I get the data stored in blockchain and then display on webpage? 【发布时间】:2020-03-28 07:36:34 【问题描述】:

我正在使用 metamask、ganache、truffle 和 web3js 开发一个系统,该系统可以注册用户的详细信息并将其保存在区块链中。我已经成功部署了智能合约并将用户的详细信息存储在区块链中。但是,我怎样才能从区块链中提取数据并在网页上显示数据(例如全名和国家)?是否可以通过使用块号或交易哈希(tx 哈希)来做到这一点?我还设法使用 web3 函数将区块链的当前块号显示到网页上,即:

web3.eth.getBlockNumber(函数(错误,结果)

【问题讨论】:

【参考方案1】:

您可以使用 truffle 与您的智能合约进行交互或从中检索数据。

假设我的合同如下所示:

contract MetaCoin 
    mapping (address => uint) balances;

    ...

    function getBalance(address addr) public view returns(uint) 
        return balances[addr];
    

您可以在您的 javascript 代码中调用函数getBalance 以使用以下代码获取地址的余额:

// Interact with truffle contract instance
let balance = await instance.getBalance(accounts[0])
balance.toNumber()

这里有更详细的版本:interacting with your contract

这里有一个关于如何使用 truffle 构建 dapp 的简短教程:Pet Shop

【讨论】:

以上是关于如何获取存储在区块链中的数据,然后显示在网页上?的主要内容,如果未能解决你的问题,请参考以下文章

区块链中的节点是什么

区块链中的epoch

部署在区块链中的应用程序——DAPP

区块链百问百答区块链中分布式数据存储是什么意思? 区块链的分布式存储是怎么保证安全性的? (第35章)

如何查看以太坊区块的原始数据?

智能合约在技术上保存在 ETH 区块链中的哪个位置?