Interactuar con el contrato inteligente de Ethereum usando Web3js

Ethereum es una plataforma de criptomonedas en el mercado al igual que Bitcoin. Es una string de bloques descentralizada y de código abierto que presenta el trabajo en contratos inteligentes. Tiene su propia criptomoneda conocida como ether. Los contratos inteligentes en Ethereum están escritos en solidez. 

TestRPC El Ethereum TestRPC es como un emulador manual para blockchain. Proporciona interacción con la string de bloques sin ejecutarse en un Node Ethereum real. También proporciona todas las funciones necesarias para probar su string de bloques. Está basado en Node.js. 

Web3.js Web3.js es una API de JavaScript basada en Ethereum que nos permite interactuar con un Node local o remoto de Ethereum utilizando diferentes servidores como HTTP. Interactúa con la string de bloques de Ethereum y puede recuperar datos de la string de bloques según lo requiera el desarrollador. 

Este artículo describe cómo interactuar con su contrato inteligente de Ethereum usando Web3.js y TestRPC. Se recomienda que consulte Cómo trabajar en Remix-IDE antes de continuar.

Antes de continuar con los pasos, instale TestRPC y Web3JS de la siguiente manera:

1. Prueba RPC

Paso 1: abra la consola o la línea de comandos y ejecute los siguientes comandos para verificar si node y npm están instalados.

$ node -v
$ npm -v

Si el comando anterior no se reconoce, descárguelo de Nodejs.org para Windows o use los siguientes comandos (para macOS). El paquete npm se instala junto con el Node.  

$ brew install node

Para actualizar estos paquetes, use los siguientes comandos:

$ brew upgrade node

Paso 2: ahora instale ethereumjs-testrpc usando el siguiente comando :

$ npm install -g etherumjs-testrpc

Paso 3: ahora puede iniciar el servidor usando el siguiente comando  

$ testrpc

testrpc

2. Web3.js

Paso 1: abra la consola o la línea de comando y muévase a la carpeta que contiene el JavaScript para su página de la siguiente manera:

$ cd desktop/myproject

Paso 2: ahora, ejecute el comando npm init para crear un archivo package.json, que almacenará las dependencias del proyecto:  

$ npm init

Paso 3: después de completar la instalación anterior, ejecute el siguiente comando para la instalación de web3.js-

$ npm install ethereum/web3.js0.20.0 –save

Después de la instalación de TestRPC y Web3.js, cree un contrato inteligente que desee conectar con Web3.js.

Paso 1: Abra Remix-IDE .

Paso 2: Cree un contrato inteligente de muestra como se muestra a continuación o cree cualquier otro contrato inteligente.                

Solidity

pragma solidity ^0.4.26;
  
// Creating a contract
contract GFG{
  
// Defining a function to 
// print a message
function get_output() public pure returns (string) 
{
  return ("Hi, your contract ran successfully");
}
}

 
Paso 3: Compile su código y muévase a la sección Implementar.

Compile the code.

Paso 4: seleccione el entorno como Proveedor Web3 e ingrese al servidor TestRPC http://localhost:8545 , asegúrese de que TestRPC se esté ejecutando en su sistema.
 

Enter TestRPC Server

Paso 5: Ahora, utilizando el siguiente código, conecte el código de su página web a su contrato inteligente.

Javascript

<script>
if (typeof web3 !== 'undefined'){
web3 = new Web3(web3.currentProvider);
}  
  
else{
  
// Set the provider you want from Web3.providers
web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}
  
// Set the 1st account for transactions
web3.eth.defaultAccount = web3.eth.accounts[0];
  
// Set the ABI
var yourContract = web3.eth.contract('PASTE ABI HERE!');
  
// Set the contrcat address
var contract_name = yourContract.at('PASTE CONTRACT ADDRESS HERE');
</script>

Este código proviene directamente de la página Web3.js Github.

NOTE:

  1. Variable names can be changes according to requirements.
  2. You need to paste contract address and ABI as asked above in the code. 
  3. You will get the contract address when you deploy your smart contract.
  4. You will get ABI when you compile your smart contract in compilation details.
  5. You can use all your contract functions from here onwards.
  6. The TestRPC command which we ran provides us 10 accounts, here we are using the first one.

Salida: la salida se puede personalizar como desee mostrarla en su página web, pero en Remix-IDE, la salida se verá así después de implementar el contrato inteligente

Así es como interactúa su contrato inteligente con el uso de web3.js. Siga explorando más sobre Ethereum Blockchain 🙂

Publicación traducida automáticamente

Artículo escrito por shreyansh_shukla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *