Actualmente en Truffle estoy pasando el valor manualmente, pero ¿cómo hago que este valor sea algo que necesito? Por ejemplo cuando quiero hacer una transacción en MetaMask, aparece una transacción solicitando valor x y la apruebo. ¿Cómo solicitaría valor al usuario? Quiero implementar y probar este contrato en Rinkeby.
TokenSaleContract.at(this.props.address)
.then(instance => {
contractInstance = instance;
contractInstance.buyToken(2, {value: 507087936329796580})
return c.numberOfTokensFromAddress('0x...')
})
.then(numberOfTokens => {
console.log(`You (0x...) now have ${numberOfTokens}`);
})
Puede usar una biblioteca como readline-sync
para obtener la entrada del usuario ( fuente ):
var readlineSync = require('readline-sync');
// Wait for user's response.
var userName = readlineSync.question('May I have your name? ');
console.log('Hi ' + userName + '!');
Nota: No olvide instalar primero el paquete, por ejemplo yarn add readline-sync
.
web3.eth.sendTransaction
.contractInstance.buyToken(2, {value: 507087936329796580}
Quiero que el valor pase al comprador.
Luis Soares
JorahFriendzone