solidity - Solidity 合约可以与特定的世界事件相关联吗?
问题描述
Solidity 合约能否与特定的世界事件相关联?
例如,是否可以创建一个 dapp,让人们可以押注特朗普或克林顿赢得上次美国大选?如果是,dapp 怎么知道获胜者是谁?
解决方案
如果您需要保证一切都会好起来 - 我的回答不是,在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获取交易所价格
推荐阅读
- python - pyzmq 同时发送到多个客户端
- python - OwlReady2:如何使用 ConstrainedDatatype 正确限制 DataProperty 的范围
- javascript - $().attr(...) 在函数中途未定义
- json - Apache Camel rest配置、选择和jsonpath
- r - 多项式回归方程
- google-cloud-firestore - 我可以查询集合组中的子集合吗?
- c# - 将“视野”转换为“正交尺寸”
- java - Lambda 表达式 - 使用 lambda 表达式
- django - 如何向 Browsable API Root 添加视图?
- python - 当对象为非整数时 sp.delete() 不起作用