Private-Blockchain

從移動設備訪問專用網路上的 Dapp

  • April 27, 2018

是否可以通過移動設備與儲存在我的專用網路上的 Dapp(或智能合約)交談?

讀取數據

如果您想讀取數據(呼叫常量方法來讀取狀態),您可以從任何移動瀏覽器(如 Chrome)中進行。

您首先需要連接到一個節點

var web3 = new Web3(new Web3.providers.HttpProvider(PRIVATE_NODE_RPC_ENDPOINT));

然後按照此處的說明製作智能合約

// contract abi
var abi = [{
    name: 'myConstantMethod',
    type: 'function',
    constant: true,
    inputs: [{ name: 'a', type: 'string' }],
    outputs: [{name: 'd', type: 'string' }]
}, {
    name: 'myStateChangingMethod',
    type: 'function',
    constant: false,
    inputs: [{ name: 'a', type: 'string' }, { name: 'b', type: 'int' }],
    outputs: []
}, {
    name: 'myEvent',
    type: 'event',
    inputs: [{name: 'a', type: 'int', indexed: true},{name: 'b', type: 'bool', indexed: false}]
}];

// creation of contract object
var MyContract = web3.eth.contract(abi);

// initiate contract for an address
var myContractInstance = MyContract.at('0xc4abd0339eb8d57087278718986382264244252f');

// call constant function
var result = myContractInstance.myConstantMethod('myParam');
console.log(result) // '0x25434534534'

寫入數據

但是,如果要寫入數據,則需要發送交易,這意味著您需要私鑰(基本上是錢包)。

市場上有一些乙太坊移動瀏覽器,例如 Status、Toshi 或 Cipher。我剛剛檢查過,沒有人接受通過 RPC 連接到私有節點(僅限公共網路,如 mainet、ropsten、rinkeby)。您將需要等待該功能在其中一個或具有此功能的新乙太坊移動錢包上實施。

引用自:https://ethereum.stackexchange.com/questions/46868