Доступ к Dapp в частной сети с мобильного

Можно ли разговаривать с децентрализованным приложением (или со смарт-контрактом), хранящимся в моей частной сети, с мобильного телефона?

Ответы (1)

Чтение данных

Если вы хотите прочитать данные (вызовите постоянный метод для чтения состояния), вы можете сделать это из любого мобильного браузера (например, 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'

Запись данных

Однако, если вы хотите записать данные, вам нужно отправить транзакцию, что означает, что вам нужен закрытый ключ (в основном кошелек).

На рынке есть несколько мобильных браузеров Ethereum, таких как Status, Toshi или Cipher. Я только что проверил, и никто еще не принимает подключение к частной ноде через RPC (только общедоступные сети, такие как mainet, ropsten, rinkeby). Вам нужно будет дождаться реализации этой функции в одном из них или в новом мобильном кошельке Ethereum с этой функцией.