Acceso a una Dapp en una red privada desde el móvil

¿Es posible hablar con un Dapp (o con un contrato inteligente) almacenado en mi red privada desde el móvil?

Respuestas (1)

Leer datos

Si desea leer datos (llamar a un método constante para leer un estado), puede hacerlo desde cualquier navegador móvil (como Chrome).

Primero necesita conectarse a un nodo

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

y luego haga un contrato inteligente como se explica aquí

// 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'

Escribir datos

Sin embargo, si desea escribir datos, debe enviar una transacción, lo que significa que necesita una clave privada (básicamente una billetera).

Hay algunos navegadores Ethereum Mobile en el mercado como Status, Toshi o Cipher. Acabo de verificar y nadie acepta aún conectarse a un nodo privado a través de RPC (solo redes públicas como mainet, ropsten, rinkeby). Deberá esperar a que se implemente la función en uno de esos o en una nueva billetera móvil Ethereum con esta función.