¿Es posible interactuar con un contrato implementado en una cadena de bloques privada con Web3 API?
Ya he implementado un contrato y guardé la dirección del contrato, pero no encuentro cómo no puedo interactuar con este contrato.
Puedes interactuar con remix. Simplemente cambie su entorno a 'proveedor web3' y cargue el contrato desde la dirección. Ahora, verá los métodos a los que puede acceder.
Además, puede crear su propia aplicación html con la que puede acceder. Mientras lo hacía, recibí un error. Tenga en cuenta que mi contrato se implementa en la red ropsten. Si desea acceder a su contrato, utilice el código html y en lugar de
web3 = new Web3(new Web3.providers.HttpProvider(" https://ropsten.infura.io/ "));
dar (siempre y cuando se conecte a través del puerto 8545)
web3 = new Web3(new Web3.providers.HttpProvider(" http://localhost:8545 "));
Bajo geth podría crear una instancia de contrato usando
contractinstance = eth.contract(abi).at(addr)
El abi se encuentra usando -
solc --abi smartcontractname.sol
Copie el abi (sin comillas en una variable en geth), la dirección es su dirección de 20 bytes proporcionada durante la implementación.
Entonces las funciones son ejecutables usando -
contractinstance.functionname(..)
koceila lounici
Jim