Blockchain 外部调用以太坊智能合约功能的最常见方式是什么?

Blockchain 外部调用以太坊智能合约功能的最常见方式是什么?,blockchain,ethereum,smartcontracts,Blockchain,Ethereum,Smartcontracts,我正在使用以太坊智能合约创建一个DApp,以实体形式编写 我想与合同互动,并向P2P游戏的赢家支付代币。为了简单起见,游戏可以是石头剪刀。一名证人将主持比赛,并向合同发出电话,向获胜者付款 假设我们有两名玩家:player 1有一个带有公钥的以太坊钱包a1b2c3d4e5(这一轮的获胜者) 玩家2的公钥为f6g7h8i9j0(本轮失败者) 证人将如何访问我的Solidity智能合约中的功能,该合约将从游戏方支付玩家1 您可以使用构建与以太区块链交互的分散HTML5应用程序 Bounk包括一个测试

我正在使用以太坊智能合约创建一个DApp,以实体形式编写

我想与合同互动,并向P2P游戏的赢家支付代币。为了简单起见,游戏可以是石头剪刀。一名证人将主持比赛,并向合同发出电话,向获胜者付款

假设我们有两名玩家:
player 1
有一个带有公钥的以太坊钱包
a1b2c3d4e5
(这一轮的获胜者)

玩家2
的公钥为
f6g7h8i9j0
(本轮失败者)

证人将如何访问我的Solidity智能合约中的功能,该合约将从游戏方支付
玩家1

您可以使用构建与以太区块链交互的分散HTML5应用程序

Bounk包括一个测试库,用于在EVM(以太坊虚拟机)中快速运行和测试合同

登船支持IPF

您可以创建智能合约,例如:

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) });
//set yourself as the ipfs provider

EmbarkJS.Messages.setProvider('orbit', {server: 'localhost', port: 5001})

EmbarkJS.Messages.sendMessage({topic: "sometopic", data: 'hello world'})
IPFS连接上的通信是这样的

myContract.eventName({from: web3.eth.accounts}, 'latest')
    .then(function(event) { console.log(event) });
//set yourself as the ipfs provider

EmbarkJS.Messages.setProvider('orbit', {server: 'localhost', port: 5001})

EmbarkJS.Messages.sendMessage({topic: "sometopic", data: 'hello world'})

签出此示例代码您可以共享您的智能合约和app.js吗