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

How can I get the data stored in blockchain and then display on webpage?

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

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

您可以使用 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