首页 > 解决方案 > Solidity 合约可以与特定的世界事件相关联吗?

问题描述

Solidity 合约能否与特定的世界事件相关联?

例如,是否可以创建一个 dapp,让人们可以押注特朗普或克林顿赢得上次美国大选?如果是,dapp 怎么知道获胜者是谁?

标签: solidity

解决方案


如果您需要保证一切都会好起来 - 我的回答不是,在Ethereum. 因为当您创建智能合约时,它只信任Ethereum区块链事件,例如新区块/交易。你smart-contract不知道在我们的现实世界中发生了什么。

美国大选是现实生活中的事件,而不是Ethereum区块链。所以这意味着有人应该向Ethereum区块链发送带有选举结果的交易。所有下注的玩家都值得信赖的人。您可以使用其中一个提供程序,例如oraclize.it. 它运行良好并且看起来值得信赖,但这意味着提供商的地址可以访问您的地址,smart-contract并且可以向其发送包含任何数据的交易。

这是从交易所获取 ETH/USD 汇率的常用解决方案。有一个简单的示例可以使用oraclize.it` https://docs.oraclize.it/#ethereum-best-practices-precalculating-the-query-price获取交易所价格


推荐阅读