В какой момент он сохраняет данные в блокчейне?
В смарт-контракте есть правила (функции), которые контролируют способ изменения данных.Всякий раз, когда вы запускаете вызов функции, вы генерируете транзакции.Эти транзакции являются операциями, которые изменяют (или не изменяют) данные SC.
Что означает «блок», учитывая тот факт, что примеры просто выглядят как классы - каждый экземпляр этих классов является «блоком»?
Транзакции упакованы внутри блоков, и блок может иметь несколько транзакций, работающих на разных SC или ETH-счетах (кошельках).Отношение между SC и блоками такое же, как отношение между кодом любого приложения и тем, как работает программное обеспечение вашей базы данных ... в основном это не имеет отношения.
Это: блоки - это то, как блокчейн хранит данные.SC - это правила, которые определяют, как изменяются ваши данные.
Является ли каждый блок «версией» всех свойств, принадлежащих контракту?
Нет.Блок - это группа транзакций.Транзакция - это операция, которая изменяет ваши данные.
Существует экземпляр смарт-контракта на блок
Нет.Только при развертывании интеллектуального контракта в сети вы отправляете полную копию байт-кода скомпилированного SC внутри специальной транзакции, которая входит в блок.Даже в этом случае внутри блока может быть больше разных транзакций.
Интеллектуальный контракт почти похож на API, который получает и устанавливает данные в цепочке блоков?
Вот и все
Является ли смарт-контракт, по сути, эквивалентным промежуточному программному обеспечению, я могу написать сам
Но, говоря об Ethereum, на данный момент выбора нет: просто код солидности(ну, есть еще пара языков, но я думаю, что они почти не используются).