Browser Solidity: что делает вкладка «Транзакция»?

В браузере Solidity есть вкладка «Транзакция» (значок бумажного самолетика). Вы можете выбрать один из двух адресов и значение. Но нет кнопки "отправить" или чего-то в этом роде. Что должен делать этот раздел?

Ответы (3)

Поместив ненулевое значение в поле «значение», вы указываете IDE отправлять такое количество (симулированного) эфира вместе с любой транзакцией, которую она совершает.

Эквивалент кнопки «отправить», которую вы ищете, — это просто ввести значение в поле «значение», а затем нажать (fallback)кнопку. Это будет вести себя так, как если бы вы просто отправили транзакцию на контракт с некоторым количеством эфира и без данных.

  1. создать простой договор

    contract testMSGVALUEinBrowser{
        uint lastSent;
        function test() public returns (uint lastSent) {
            lastSent = msg.value;
            return lastSent;
        }
        function get() constant returns( uint){
            return lastSent;
        }
    }
    
  2. Нажмите на вкладку транзакции

  3. Нажмите красную кнопку создать

  4. Введите число в поле «Стоимость транзакции» (в примере 1234).

  5. Нажмите тестовую кнопку, которая активирует тестовую функцию, вы увидите, что она отправила 1234 эфира.

  6. Нажмите синюю кнопку «Получить», она получит правильно отправленное значение.

введите описание изображения здесь

Убедитесь, что вы установили в поле «Значение» значение 0, прежде чем нажимать синюю кнопку. Я немного смутился, когда впервые использовал это, и он продолжал показывать двойную сумму, которую я вложил.
Я не вижу этих кнопок. Просто пытаюсь выполнить базовый балетный контракт. imgur.com/a/g1Omt ... ценю любые комментарии.

Я хочу внести небольшую поправку в ответ, который начинается с «создать простой контракт». Как показано, на 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;  
  }  
}