В настоящее время в Truffle я передаю значение вручную, но как мне сделать это значение тем, что мне нужно. Например, когда я хочу совершить транзакцию в MetaMask, появляется транзакция, запрашивающая значение x, и я ее одобряю. Как мне запросить значение у пользователя? Я хочу развернуть и протестировать этот контракт на Ринкеби.
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}`);
})
Вы можете использовать библиотеку для readline-sync
получения пользовательского ввода ( источник ):
var readlineSync = require('readline-sync');
// Wait for user's response.
var userName = readlineSync.question('May I have your name? ');
console.log('Hi ' + userName + '!');
Примечание: Не забудьте сначала установить пакет, например yarn add readline-sync
.
web3.eth.sendTransaction
.contractInstance.buyToken(2, {value: 507087936329796580}
я хочу, чтобы значение было передано покупателю
Луис Соарес
ДжораФрендзона