DEV Community

Sergio Martinez Marin
Sergio Martinez Marin

Posted on • Edited on

Primeros pasos con Netherum en la BNB Chain

Hola a todos, en esta ocación vamos a ver algo super fundamental en el mundo C#, la mayoria de veces la web3 va ligado inherentemente a una página web y javascript, en cualquier variante ( navegador desktop, navegador de mobil o sus variantes).

Pero que pasa si queremos hacer una solución a nivel de Backend, escritorio o mobil directamente con C#, usamos una solución llamada Netherum 🤓
https://nethereum.com/
A continuación vamos a llamar la función que se créo en el artículo pasado (https://dev.to/sergiotechx/primeros-pasos-con-bnb-studio-525b), donde dimos los primeros pasos en el ide "BNB Studio" 🤠


Lo primero es crear un proyecto, tipo consola y por el packet manager de nugets, bajamos en Netherum.web3
Netherum.web3

Luego abrimos el bnbstudio para localizar el código abi y el contrato que desplegamos la vez pasada
bnb studio

Image description

Image description
Ahora escribimos lo siguiente ( maximiza el código para que sea más legible)

 static async Task Main(string[] args) { //Acá pones tu llave privada que no debes compartir con nadie! string _privatekey = "tu llave privada"; //un proveedor gratis de la testnet de BNB https://www.ankr.com/rpc/ string _strconnection = "https://rpc.ankr.com/bsc_testnet_chapel"; //chain ID de la BNBChain testnet 97 //https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain Account account = new Account(_privatekey, new BigInteger(97)); Web3 web3 = new Web3(account, _strconnection); string contractAdress = "0x7BcAF331B2d33Fbdc17De5dD0C3DEadb360503bb"; //el abi lo sacamos del bnbstudio var abi = @" [ { ""inputs"": [], ""name"": ""getResult"", ""outputs"": [ { ""internalType"": ""string"", ""name"": """", ""type"": ""string"" } ], ""stateMutability"": ""view"", ""type"": ""function"" } ]"; Nethereum.Contracts.Contract contract = web3.Eth.GetContract(abi, contractAdress); //Invocación de la función del contrato inteligente var function = contract.GetFunction("getResult"); //la función del smart contract retorna un datos tipo string var result = await function.CallAsync<string>(); Console.WriteLine(result); Console.ReadLine(); } 
Enter fullscreen mode Exit fullscreen mode

y este es el resultado

resultado
Cómo puedes ver, integrar tus contratos de la BNBChain al mundo C# es muy viable mediante este tipo de soluciones.

El código del proyecto lo puedes descargar acá
https://github.com/sergiotechx/NetherumCallAbi

Hasta la próxima.😁

Top comments (0)