我使用web3j和ganache创建了一个投票Dapp,但是它们都是一个小问题。每次新的选举开始时,我决定部署一个投票合同,并且将有一个管理员控制合同的部署以及选举的开始和结束。因此,当投票合同被部署时,只有管理员才能获得合同契约地址。我怎样才能把地址发送给普通市民,让他们可以打电话给聪明的合同。我想把合同地址存储在一个正常的数据库中,但是如果数据库被黑客攻击或破坏,整个dapp就会崩溃。在web3j中有任何函数可以在区块链本身中存储字符串吗?ps。我看到了web3j.dbputString函数,但我不知道如何使用它。
private String deployContract(Web3j web3j, Credentials credentials) throws Exception {
return Election.deploy(web3j, credentials,GAS_PRICE,GAS_LIMIT).send().getContractAddress();
}以下是已部署的合同段。
发布于 2021-06-24 14:06:53
一种常见的设计模式叫做工厂。您可以拥有部署其他契约的智能契约。这将生成用户可见的事件。见Uniswap工厂。
另外,您只需将契约构造函数设置为evit,这将被用户前端捕获。
https://stackoverflow.com/questions/68115240
复制相似问题