Передруковано з Сатоші Накамото в спільноті посилань

Масові перекази є звичайною операцією в екосистемі Solana, особливо під час розсилання токенів або надсилання токенів на кілька адрес. Цей підручник покаже вам, як виконувати пакетні перекази в мережі Solana, зокрема ознайомиться з моделями облікових записів, вартістю пакетних переказів тощо.

модель облікового запису Solana

У Solana є три типи облікових записів:

  • Обліковий запис даних, який використовується для зберігання даних

  • Обліковий запис програми, який використовується для зберігання виконуваних програм

  • Рідні облікові записи стосуються рідних програм на Solana, таких як «Система», «Ставка» та «Голосування».

Облікові записи даних поділяються на дві категорії:

  • Всі облікові записи в системі

  • Програмний обліковий запис (PDA)

Адреса гаманця, яку ми зазвичай використовуємо, належить до всіх облікових записів у системі в обліковому записі даних. Ми можемо підписати власний закритий ключ, і система перевірить, чи правильний підпис, ми можемо отримати доступ до облікового запису як переказ коштів і контракти на виклик.

Зв’язок між обліковими записами в токенах Solana

У серії Ethereum випуск токена є прямим розгортанням смарт-контракту, а адреса, що відповідає контракту, є адресою токена. Але Solana буває іншим.

На зображенні нижче показано три облікові записи, що відповідають токенам Solana:

в:

програма-токен: це обліковий запис програми та виконувана програма, офіційно розгорнута за допомогою маркера spl.

обліковий запис монетного двору: це обліковий запис токена, створений користувачем за допомогою програми токена, який є адресою карбування токена. Цей обліковий запис зберігає основну інформацію про токен, таку як поставка токена, адреса для карбування та дозволів на заморожування. десяткове число маркера.

Обліковий запис токена: відноситься до облікового запису користувача. Наприклад, якщо Аліса володіє обома токенами USDT і Slerf, вона матиме два токен-рахунки відповідно, один з яких реєструє баланс USDT, а інший – баланс Slerf. Обліковий запис створюється шляхом зв’язування адреси користувача та облікового запису-токена.

Фактично, коли ми надсилаємо токен на адресу, програма спочатку розраховує обліковий запис токена для токена під адресою користувача та записує зміни в даних балансу в облікового запису токена.

solana рахунок оренди

В економічній моделі Solana створення токен-облікового запису вимагає сплати певної суми орендної плати за власну адресу, щоб відшкодувати орендну плату 0, інакше вони втратять активи.

Коли адреса Solana приймає певний токен, під адресою має бути створений обліковий запис токена для зберігання інформації про токени, балансу та іншої інформації. Якщо в одержувача його немає, відправник може створити обліковий запис-токен для одержувача.

Орендна плата на Solana становить 0,00000348 SOL за розмір даних гаманця — 586 байт, а орендна плата становить близько 0,002 SOL.

Вартість масової передачі

Розуміючи наведену вище модель облікового запису, ми можемо знати, скільки коштуватиме транзакція передачі токенів і куди ці витрати будуть витрачені.

Якщо ми передаємо токени Slerf на 10 адрес, і якщо 10 ніколи не приймуть токен, тоді наша вартість становитиме 0,02 соля плюс комісія за передачу в мережі.

Якщо ці 10 адрес приймали Slerf раніше, вартість передачі є лише незначною комісією за мережу.


Як переказувати гроші пакетами

Якщо ви знайомі з програмуванням, ви можете використовувати SDK, офіційно наданий Solana. Ви можете відвідати офіційну документацію Solana, щоб отримати детальні інструкції з використання та приклад коду.

Нижче наведено детальний опис того, як використовувати інструменти для пакетних переказів без програмування. SlerfTools — це найдешевший, швидкий і зручний інструментарій Solana у всій мережі, який підтримує випуск монет, створення відкритих ринкових ідентифікаторів, створення ліквідності Raydium , а також видалення ліквідності, пакетні операції тощо.

1. Спочатку відкрийте сторінку пакетної передачі SlerfTools:

2. Після прив’язування гаманця заповніть адресу токена, а список платіжних адрес також можна заповнити, завантаживши файл.

3. Натисніть «Далі», і з’явиться наступний інтерфейс підтвердження.

4. Після натискання «Надіслати транзакцію» передача буде успішною:

5. Після успішної передачі з’являться два хеші успішних транзакцій. Ви можете клацнути, щоб переглянути їх у браузері блоків.

Слід зазначити, що для економії витрат на ланцюг і прискорення швидкості в ланцюзі SlerfTools підсумовує кожну партію переказів в одну транзакцію.
Оскільки Solana спрямована на прискорення передачі даних між вузлами, кожна транзакція обмежена 1232 байтами, а її розмір – однією одиницею передачі MTU ipv6. Тому кількість передач у кожній партії потрібно обмежити.

Завдяки численним тестам ми дійшли висновку, що оптимальне значення для кількості переказів на транзакцію: для нових адрес (тобто адрес, які раніше не отримували цей маркер), кожна пакетна передача включає до 9 адрес отримання для старих адрес; (Тобто адреса, яка раніше отримувала цей маркер), кожна пакетна передача може містити до 19 адрес отримання. Спроби передачі понад ці рекомендовані числа можуть призвести до невдачі.

Причина, чому першого менше, полягає в тому, що при отриманні переказу токена адреса, яка ніколи не отримувала цей токен, повинна створити обліковий запис токена, який займає частину розміру транзакції.