Resumo
Os programas principais fornecem funcionalidades fundamentais da rede: gestão de contas (System Program), consenso (Vote, Stake), otimização de transações (Compute Budget, Address Lookup Table) e privacidade (ZK ElGamal Proof). Inclui referência de instruções do System Program e links de código-fonte para todos os 7 programas.
O System Program
O System Program (11111111111111111111111111111111) é o único programa que
pode criar novas contas. Todas as novas contas são inicialmente propriedade do
System Program, embora a propriedade seja normalmente reatribuída após a
criação. O System Program consome
DEFAULT_COMPUTE_UNITS
(150 CUs) por instrução.
Referência de instruções do System Program
| Instrução | Descrição |
|---|---|
CreateAccount | Cria uma nova conta. Aloca space bytes, atribui owner e transfere lamports do pagador. A nova conta e o pagador devem assinar. |
CreateAccountWithSeed | Igual a CreateAccount, mas deriva o endereço da nova conta a partir da pubkey de uma conta, uma string seed e o programa proprietário. A conta cuja pubkey foi usada para derivar o endereço e o pagador devem assinar. |
Assign | Define o proprietário da conta. A conta deve assinar. Sem efeito se já for esse proprietário. |
AssignWithSeed | Igual a Assign, mas para um endereço derivado de seed. A conta cuja pubkey foi usada para derivar o endereço deve assinar. |
Transfer | Transfere lamports entre contas. O remetente deve assinar. |
TransferWithSeed | Igual a Transfer, mas a partir de um endereço derivado de seed. A conta cuja pubkey foi usada para derivar o endereço deve assinar. |
Allocate | Define o comprimento dos dados da conta. A conta deve assinar, ter dados vazios e ser propriedade do System Program. Máximo de 10 MiB. |
AllocateWithSeed | Igual a Allocate, mas para um endereço derivado de seed. Também atribui o proprietário. A conta cuja pubkey foi usada para derivar o endereço deve assinar. |
AdvanceNonceAccount | Avança o valor do nonce para o blockhash atual. A autoridade do nonce deve assinar. |
InitializeNonceAccount | Inicializa uma conta como conta nonce com a autoridade fornecida. A conta deve estar isenta de rent. |
AuthorizeNonceAccount | Altera a autoridade do nonce. A autoridade atual deve assinar. |
WithdrawNonceAccount | Retira lamports de uma conta nonce. A autoridade deve assinar. Se não estiver a fechar, o saldo restante deve cobrir o rent. |
UpgradeNonceAccount | Atualiza uma conta nonce do formato de versão legada para a versão atual. A conta deve ser gravável e conter uma versão nonce legada. |
Todos os programas principais
| Programa | ID do programa | Descrição | Fonte |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Cria contas, transfere SOL, aloca dados e atribui propriedade | Fonte |
| Vote | Vote111111111111111111111111111111111111111 | Cria e gere contas que rastreiam o estado de votação e recompensas dos validadores | Fonte |
| Stake | Stake11111111111111111111111111111111111111 | Cria e gere delegações de stake para validadores | Fonte |
| Config | Config1111111111111111111111111111111111111 | Armazena dados de configuração on-chain com controlo de acesso baseado em chaves | Fonte |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Define limites de unidades de computação e taxas prioritárias para transações | Fonte |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Gere tabelas de pesquisa de endereços para transações que referenciam muitas contas | Fonte |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Verifica provas de conhecimento zero para dados encriptados com ElGamal | Fonte |
Programas de carregamento
Cada programa é propriedade de um programa de carregamento. Os carregadores tratam da implementação, atualização e execução dos programas que possuem. Consulte Programas de carregamento para a lista completa de carregadores e os respetivos endereços.
Is this page helpful?