Я и друг работаем над проектом, в котором вы можете хранить файлы в блокчейне ethereum. Мы хотим сделать своего рода ранжирование на нашей домашней странице для людей, которые сохранили файл с наибольшим значением (в эфире). Мы используем web3 для связи с метамаской и отправки транзакции. Проблема в коде ниже. Как только кто-то отправляет транзакцию, значение включается. Я знаю, что можно редактировать все javascript на стороне клиента, но мне не удалось изменить его в проводнике исходного файла и подделать значение.
Как мы можем предотвратить, если это возможно, изменение поля значения клиента в проводнике исходного файла в sendTransaction? Потому что в противном случае люди могли бы загружать файлы без значения. Или есть хорошие обходные пути?
this.hexDump(file).then(function(hex) {
that.web3.eth.estimateGas( {
from: account,
to: "0x8602Bb28bf1e7103feeeC6a97678F99B8B722B26",
data: hex
}, function(error, gasEstimate) {
that.web3.eth.sendTransaction({
from: account,
to: "0x8602Bb28bf1e7103feeeC6a97678F99B8B722B26",
data: hex,
gas: gasEstimate,
value: that.web3.toWei("0.0001", "ether") <-- problem