Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

133
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda