Tengo mi propio nodo implementado en Amazon y backend/frontend para trabajar con él y funciona bien: transacción ejecutada, eventos capturados. Ahora quiero usar INFURA en lugar de mantener mi propio nodo y confundido sobre cómo resolver la siguiente situación:
Tengo un par de funciones en contrato que están disponibles solo para el propietario y están protegidas por modificador. En mi propio nodo, funciona de esta manera: primero desbloqueó la cuenta del creador del contrato (el formulario de la interfaz de usuario contiene el campo de contraseña de la billetera), luego, si tiene éxito, ejecutó la función protegida. Solo es posible cuando tengo un archivo de claves en el nodo.
Pero cuando migre a INFURA, no tendré acceso a esta billetera y, por lo tanto, no podré desbloquearla. Solo veo una forma: solicitar la clave privada del creador en lugar de la contraseña, luego crear una transacción sin procesar, firmarla y enviarla a la red.
Pregunta: ¿es la única forma de ejecutar funciones protegidas o me perdí algo más simple que esto?
Mi pila es: Solidity, Node, Truffle, Web3, etc.
Puede enviar una transacción firmada, entonces no necesita el archivo de claves en el nodo. Consulte la respuesta a esta pregunta sobre cómo firmar transacciones. Utilice eth.sendRawTransaction para enviar la transacción firmada.
hhppj