Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

344
Views
Pasar matriz a contrato inteligente desde web3

Tengo un problema al pasar una matriz de web3 a un contrato inteligente. Tengo una matriz declarada como names=[] con datos analizados como int;

Estoy planeando enviar un valor a mi contrato inteligente con la función:

 function vote(uint[] memory candID,uint id,uint elid) public { //code here }

usando este código en mi interfaz:

 await contract.methods.vote([names],BigInt(election),BigInt(electClickedID)).send({ from: accounts[0], gas: 3000000 });

Siempre me encuentro con un error, pero cuando paso datos manualmente, como:

 await contract.methods.vote([0,1,5],BigInt(election),BigInt(electClickedID)).send({ from: accounts[0], gas: 3000000 });

tiene éxito

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sus names de variables son una matriz unidimensional vacía. Al envolverla en la expresión [] adicional, está pasando efectivamente una matriz bidimensional a la función Solidez.

Por ejemplo, si el valor de los names fuera [0,1,5] , estaría pasando [[0,1,5]] - una matriz de un elemento, que [el elemento] es otra matriz de tres elementos.

Lo cual no es válido, ya que la función Solidity acepta una matriz 1D.

Solución : retire el envoltorio de la matriz.

 let names = []; await contract.methods.vote( names, // instead of `[names]` BigInt(election), BigInt(electClickedID) ).send({ from: accounts[0], gas: 3000000 });
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!