В браузере Solidity есть вкладка «Транзакция» (значок бумажного самолетика). Вы можете выбрать один из двух адресов и значение. Но нет кнопки "отправить" или чего-то в этом роде. Что должен делать этот раздел?
Поместив ненулевое значение в поле «значение», вы указываете IDE отправлять такое количество (симулированного) эфира вместе с любой транзакцией, которую она совершает.
Эквивалент кнопки «отправить», которую вы ищете, — это просто ввести значение в поле «значение», а затем нажать (fallback)
кнопку. Это будет вести себя так, как если бы вы просто отправили транзакцию на контракт с некоторым количеством эфира и без данных.
создать простой договор
contract testMSGVALUEinBrowser{
uint lastSent;
function test() public returns (uint lastSent) {
lastSent = msg.value;
return lastSent;
}
function get() constant returns( uint){
return lastSent;
}
}
Нажмите на вкладку транзакции
Нажмите красную кнопку создать
Введите число в поле «Стоимость транзакции» (в примере 1234).
Нажмите тестовую кнопку, которая активирует тестовую функцию, вы увидите, что она отправила 1234 эфира.
Нажмите синюю кнопку «Получить», она получит правильно отправленное значение.
Я хочу внести небольшую поправку в ответ, который начинается с «создать простой контракт». Как показано, на 2016-08-17 не работает.
На данный момент работает следующее (browser-solidity/#version=0.3.6):
contract lastSentValue{
uint lastSent;
function set() public returns (uint) {
lastSent = msg.value;
return lastSent;
}
function get() public constant returns( uint){
return lastSent;
}
}
Тьяден Хесс
маулив