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

132
Views
¿Puedo generar una transacción en el servidor y enviarla al cliente para el pago?

He creado un método de contrato inteligente al que paso algunos datos confidenciales que deben almacenarse en la cadena de bloques y alterar el estado del contrato. Yo, el creador del contrato, no quiero ser el que pague los honorarios de esa transacción. Quiero que el usuario del navegador lo apruebe y pague.

Sin embargo, no quiero generar el objeto de transacción en el navegador porque quiero que algunos de los datos que se pasarán al contrato se oculten al cliente. Si entiendo la sintaxis de web3 correctamente, en el siguiente código, estoy haciendo exactamente eso

 web3.eth.sendTransaction({ from: walletAddressOfTheUserThatWillPayForTheTransaction, data: myContract.methods.changeState(..sensitive data...).encodeABI() })

Sin embargo, no quiero que suceda lo anterior en el navegador. En mi cabeza, la secuencia de eventos debería verse así ( pseudocódigo ):

 // server let transactionObject = { from: walletAddressOfTheUserThatWillPayForTheTransaction, data: myContract.methods.changeState(..sensitive data...).encodeABI() } sendToClient(encrypt(transactionObject)) // client let encryptedTransactionObject = await fetchEncryptedTransactionObjectFromServer() // this should open up Metamask for the user so that they may approve and finalise the transaction on the browser web3.eth.sendTransaction(encryptedTransactionObject)

Es posible ? ¿Hay alguna otra forma de lograr esto? ¿Podría proporcionarme algunas sugerencias sobre la sintaxis real que se utilizará?

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

0

Sin embargo, no quiero generar el objeto de transacción en el navegador porque quiero que algunos de los datos que se pasarán al contrato se oculten al cliente.

Entonces, en primer lugar, no debería usar cadenas de bloques públicas, ya que todos los datos en las cadenas de bloques públicas, por definición, son públicos. Cualquiera puede leerlo.

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!