Ця сторінка є єдиним довідником для всіх констант середовища виконання, згаданих на сторінках основних концепцій. Кожна константа посилається на своє визначення в клієнті validator agave або solana-sdk.
Акаунти
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
MAX_ACCOUNT_DATA_LEN | 10 МіБ (10 485 760 байтів) | Максимальний розмір даних акаунта | MAX_ACCOUNT_DATA_LEN |
MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION | 20 МіБ (20 971 520 байтів) | Максимум нових даних акаунта, виділених на транзакцію | MAX_ACCOUNT_DATA_GROWTH_PER_TRANSACTION |
MAX_PERMITTED_DATA_INCREASE | 10 240 байтів (10 КіБ) | Максимальне збільшення realloc на CPI | MAX_PERMITTED_DATA_INCREASE |
TRANSACTION_ACCOUNT_BASE_SIZE | 64 байти | Накладні витрати на акаунт, що враховуються в розмірі завантажених даних | TRANSACTION_ACCOUNT_BASE_SIZE |
Транзакції
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
PACKET_DATA_SIZE | 1232 байти | Максимальний розмір транзакції (IPv6 MTU мінус заголовки) | PACKET_DATA_SIZE |
MAX_ACCOUNTS_PER_TRANSACTION | 256 | Жорстка межа від кодування індексу u8. Застосований ліміт середовища виконання становить 64 (128, коли активовано increase_tx_account_lock_limit, наразі неактивно). | MAX_ACCOUNTS_PER_TRANSACTION |
MAX_PROCESSING_AGE | 150 слотів | Вікно закінчення терміну дії blockhash | MAX_PROCESSING_AGE |
MAX_RECENT_BLOCKHASHES | 300 записів | Розмір BlockhashQueue | MAX_RECENT_BLOCKHASHES |
MAX_SIGNATURES_PER_PACKET | 12 | Максимальна кількість підписів на пакет транзакції | MAX_SIGNATURES_PER_PACKET |
Інструкції
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
MAX_INSTRUCTION_TRACE_LENGTH | 64 | Максимальна загальна кількість інструкцій (верхнього рівня + CPI) | MAX_INSTRUCTION_TRACE_LENGTH |
MAX_INSTRUCTION_DATA_LEN | 10 240 байтів (10 КіБ) | Максимальний розмір даних інструкції на інструкцію | MAX_INSTRUCTION_DATA_LEN |
Програми
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES | 64 МіБ (67 108 864 байти) | Стандартний ліміт розміру даних завантажених акаунтів | MAX_LOADED_ACCOUNTS_DATA_SIZE_BYTES |
PROGRAM_OWNERS | BPF Loader Upgradeable, BPF Loader, BPF Loader Deprecated, Loader V4 | Дійсні завантажувачі власників програм | PROGRAM_OWNERS |
STACK_FRAME_SIZE | 4096 байтів | Розмір стекового фрейму SBF | STACK_FRAME_SIZE |
MAX_CALL_DEPTH | 64 | Максимальна глибина викликів SBF-до-SBF | MAX_CALL_DEPTH |
MAX_LOADED_ENTRY_COUNT | 512 | Максимальна кількість кешованих програм | MAX_LOADED_ENTRY_COUNT |
DELAY_VISIBILITY_SLOT_OFFSET | 1 слот | Затримка видимості розгортання програми | DELAY_VISIBILITY_SLOT_OFFSET |
Комісії та обчислення
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT | 200 000 CU | Стандартний ліміт CU на інструкцію | DEFAULT_INSTRUCTION_COMPUTE_UNIT_LIMIT |
MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT | 3000 CU | Стандартний ліміт CU на вбудовану інструкцію | MAX_BUILTIN_ALLOCATION_COMPUTE_UNIT_LIMIT |
MAX_COMPUTE_UNIT_LIMIT | 1 400 000 CU | Максимальний ліміт CU на транзакцію | MAX_COMPUTE_UNIT_LIMIT |
lamports_per_signature | 5000 lamport | Стандартна базова комісія за підпис | FeeStructure::default() |
MICRO_LAMPORTS_PER_LAMPORT | 1 000 000 | Конвертація мікролампортів у lamport | MICRO_LAMPORTS_PER_LAMPORT |
MAX_HEAP_FRAME_BYTES | 262 144 байти (256 КіБ) | Максимальний розмір купи BPF | MAX_HEAP_FRAME_BYTES |
DEFAULT_HEAP_COST | 8 CU на сторінку 32 КіБ | Вартість виділення сторінок купи | DEFAULT_HEAP_COST |
HEAP_LENGTH | 32 768 байтів (32 КіБ) | Стандартний розмір купи BPF | HEAP_LENGTH |
WRITE_LOCK_UNITS | 300 CU | Обчислювальна вартість на акаунт із блокуванням запису | WRITE_LOCK_UNITS |
SIGNATURE_COST | 720 CU | Обчислювальна вартість на підпис Ed25519 | SIGNATURE_COST |
SECP256K1_VERIFY_COST | 6690 CU | Обчислювальна вартість на підпис secp256k1 | SECP256K1_VERIFY_COST |
PDA
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
MAX_SEEDS | 16 | Максимальна кількість seed для деривації PDA | MAX_SEEDS |
MAX_SEED_LEN | 32 байти | Максимальна довжина одного seed | MAX_SEED_LEN |
| Діапазон bump seed | від 255 до 0 | Діапазон для пошуку канонічного bump | find_program_address |
Вартість create_program_address | 1 500 CU | Вартість у CU за системний виклик деривації PDA | create_program_address_units |
CPI
| Константа | Значення | Опис | Джерело |
|---|---|---|---|
MAX_INSTRUCTION_STACK_DEPTH | 5 (9 з SIMD-0268) | Максимальна глибина стека викликів | MAX_INSTRUCTION_STACK_DEPTH, MAX_INSTRUCTION_STACK_DEPTH_SIMD_0268 |
DEFAULT_INVOCATION_COST | 1 000 CU (946 з SIMD-0339) | Вартість виклику CPI | DEFAULT_INVOCATION_COST, INVOKE_UNITS_COST_SIMD_0339 |
MAX_SIGNERS | 16 | Максимальна кількість PDA-підписантів на CPI | MAX_SIGNERS |
MAX_CPI_ACCOUNT_INFOS | 128 (255 з SIMD-0339) | Максимальна кількість account infos, переданих у CPI | MAX_CPI_ACCOUNT_INFOS, MAX_CPI_ACCOUNT_INFOS_SIMD_0339 |
MAX_RETURN_DATA | 1 024 байти | Максимальний обсяг даних, що повертаються з CPI | MAX_RETURN_DATA |
cpi_bytes_per_unit | 250 байтів на CU | Швидкість вартості серіалізації CPI | cpi_bytes_per_unit |
Is this page helpful?