tgoop.com/dolbaebskicode/1175
Create:
Last Update:
Last Update:
Очередной лонгрид про солану...😇
Что такое аккаунты в солане?
Работая с соланой, вы скорее всего сталкивались с аккаунтами, но не понимали что это и зачем это нужно.
В солане аккаунты можно представить как файлы на компьютере, их очень много, и они несут в себе какую-то информацию(метадату). Метадата позволяет среде выполнения определить тип аккаунта, а также кто и как может его использовать.
К каждому аккаунту присваивается свой уникальный 256-битовый адрес, который служит путем для поиска аккаунта внутри памяти валидатора.
Все аккаунты имеют свое время жизни, определяемое количеством соланы на счету этого аккаунта(аренда). Но аккаунт можно избавить от арендной платы, если на счету имеется достаточное количество соланы.
Чтобы узнать количество соланы, которое позволит избавить аккаунт от арендной платы, можно вызвать метод getMinimumBalanceForRentExemption, который можно передать необходимое количество байтов.
Есть два типа аккаунтов:
— Executable(исполняемые аккаунты)
— Non-executable(хранящие в себе какую-то информацию)
Исполняемые аккаунты представляют собой контракты(или же на язык соланы ПРОГРАММЫ), как и на компьютере они выполняют роль какого-то исполняемого файла. Аккаунты считаются программами, если были задеплоены с помощью встроенных утилит соланы(SBF развертывание).
Не исполняемые аккаунты служат, как хранилище какой-то определенной информации по адресу этого аккаунта. Максимально допустимый размер - 10 мегабайт.
Чтобы создать аккаунт нужно вызвать инструкцию SystemProgram::CreateAccount, в который передается адрес(открытый ключ) предполагаемого аккаунта и предварительно выделенный размер аккаунта.
Каждый аккаунт имеет своего овнера. Каждая программа может создать аккаунт, который будет принадлежать ей, таким образом программа может как читать, так и изменить данные внутри аккаунта. Если при вызове метода программы, передается аккаунт, который не принадлежит программе, то программа может только считывать данные.
Хочу сказать, что солана по своему строению, очень интересная и сиськастая вещь, которую очень интересно изучать.