Когда я развертываю смарт-контракт, он создает новый блок или когда я выполняю операцию записи в смарт-контракте?

Я новичок в смарт-контрактах и ​​разработке DAPPS для Эфириума. Мне просто любопытно узнать о блоках, когда они создаются, и чем блок отличается от транзакции и создания нового блока. Когда развертывание контракта также является транзакцией? Когда я вызываю функцию в смарт-контракте, который выполняет обновление, это также транзакция?

Если да, то когда создается блок?

Рассмотрим следующий смарт-контракт.

contract mortal {
    /* Define variable owner of the type address */
    address owner;

    /* This function is executed at initialization and sets the owner of the contract */
    function mortal() { owner = msg.sender; }

    /* Function to recover the funds on the contract */
    function kill() { if (msg.sender == owner) selfdestruct(owner); }
}

contract greeter is mortal {
    /* Define variable greeting of the type string */
    string greeting;

    /* This runs when the contract is executed */
    function greeter(string _greeting) public {
        greeting = _greeting;
    }

    /* Main function */
    function greet() constant returns (string) {
        return greeting;
    }

    function updateGreet(string _greeting) public payable returns(bool) {
        greeting = _greeting;
        return true;
    } 
}

Приведенный выше код взят с https://ethereum.org/greeter и изменен таким образом, чтобы любой мог обновить greetingстроку, вызвав updateGreetingфункцию в смарт-контракте Greeter. Итак, учитывая этот смарт-контракт. Пожалуйста, помогите мне понять концепцию.

Вы задаете слишком много вопросов одновременно. При этом все, что вы спросите, есть или в желтой бумаге ( ethereum.github.io/yellowpaper/paper.pdf ), или в документации солидности. Пожалуйста, рассмотрите возможность использования Google, прежде чем задавать вопросы такого типа.

Ответы (1)

- знать о блоках, когда они создаются и чем блок отличается от транзакции и создается новый блок: Страница 3, часть 4 Блоки, состояние и транзакции

  • Когда развертывание контракта также является транзакцией? Да
  • Когда я вызываю функцию в смарт-контракте, который выполняет обновление, это также транзакция?

Да. Функция, которая изменяет состояние EVM, является «транзакцией», она стоит газа. Функция, не меняющая состояния ЭВМ, называется «вызов», она бесплатна.

  • Если да, то когда создается блок? Если это связано с предыдущим вопросом, то я НАСТОЯТЕЛЬНО рекомендую вам прочитать документацию по этому поводу.

  • Пожалуйста, помогите мне понять концепцию.

Какая концепция? Это просто очень простой код. Где вопрос.

ПОЖАЛУЙСТА, задавайте один вопрос на пост. Более того, все, что вы спросили, это базовые вещи, доступные в документации, которые вы должны были прочитать ДО того, как приходить и спрашивать.

спасибо, я обязательно прочитаю желтую газету. ты открыл мне глаза