我正在使用以 Solidity 编写的以太坊智能合约创建 DApp。
我想与合约交互并向 P2P 游戏的获胜者支付代币。为简单起见,游戏可能是石头剪刀布。证人将主持比赛,并向合同发送电话以支付给获胜者。
假设我们有两个玩家:player 1
有一个带有公钥的以太坊钱包a1b2c3d4e5
(本轮获胜者)
player 2
有一个公钥f6g7h8i9j0
(该轮的失败者)
见证人如何player 1
从游戏端访问我的 Solidity 智能合约中的支付功能?
我正在使用以 Solidity 编写的以太坊智能合约创建 DApp。
我想与合约交互并向 P2P 游戏的获胜者支付代币。为简单起见,游戏可能是石头剪刀布。证人将主持比赛,并向合同发送电话以支付给获胜者。
假设我们有两个玩家:player 1
有一个带有公钥的以太坊钱包a1b2c3d4e5
(本轮获胜者)
player 2
有一个公钥f6g7h8i9j0
(该轮的失败者)
见证人如何player 1
从游戏端访问我的 Solidity 智能合约中的支付功能?
您可以使用board框架来构建与以太坊区块链交互的去中心化 HTML5 应用程序。
Embark 包含一个测试库,用于在 EVM(以太坊虚拟机)中快速运行和测试您的合约。
Embark 支持 IPFS。
您可以创建智能合约,例如:
pragma solidity ^0.4.7;
contract SimpleStorage {
uint public storedData;
function SimpleStorage(uint initialValue) {
storedData = initialValue;
}
function set(uint x) {
storedData = x;
}
function get() constant returns (uint retVal) {
return storedData;
}
}
一个事件可能会像这样从 JS 框架触发
myContract.eventName({from: web3.eth.accounts}, 'latest')
.then(function(event) { console.log(event) });
IPFS 连接上的通信是这样的
//set yourself as the ipfs provider
EmbarkJS.Messages.setProvider('orbit', {server: 'localhost', port: 5001})
EmbarkJS.Messages.sendMessage({topic: "sometopic", data: 'hello world'})