2017-09-24 106 views
0

我使用以太坊智能合約創建了一個DApp,用Solidity編寫。從外部調用以太坊智能合約功能的最常見方式是什麼?

我想與合約交互並向P2P遊戲的獲勝者支付代幣。爲了簡單起見,遊戲可能是搖滾紙剪刀。證人會主持這場比賽,並向合同發送一個電話支付給獲勝者。

說我們有兩名球員:player 1有一個復仇​​的錢包與公鑰a1b2c3d4e5(該輪的勝者)

player 2f6g7h8i9j0公鑰(該輪的失敗者)

會如何證人在我的Solidity智能合約中訪問該函數,該合同將從遊戲端支付player 1

+0

結帳此示例代碼https://github.com/truffle-box/pet-shop-box –

+0

你能分享你的智能合約和app.js –

回答

0

您可以使用embark framework構建與etherium區塊鏈交互的分散式HTML5應用程序。

Embark包含一個快速運行的測試庫&在EVM(以太坊虛擬機)中測試您的合同。

登船支持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'}) 
相關問題