Uma credencial representa uma autoridade de atestação no Sistema de Atestação Solana. As credenciais definem quem pode emitir atestações e quais tipos de atestações podem emitir. Cada credencial possui um conjunto de signatários autorizados que podem criar atestações sob sua autoridade.
Estrutura
A struct Credential representa uma credencial no Sistema de Atestação Solana. Cada credencial define uma autoridade que pode emitir atestações e os signatários autorizados a fazê-lo.
Definições de Tipo
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Métodos
Buscar Credenciais
| Método | Descrição | Parâmetros | Retorna |
|---|---|---|---|
fetchCredential | Busca uma única credencial pelo seu endereço | rpc: Contexto RPC, address: Endereço da credencial, config?: Configuração de busca | Promise<Account<Credential>> |
fetchMaybeCredential | Busca uma credencial com segurança, retorna null se não encontrada | rpc: Contexto RPC, address: Endereço da credencial, config?: Configuração de busca | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Busca múltiplas credenciais pelos seus endereços | rpc: Contexto RPC, addresses: Array de endereços de credenciais, config?: Configuração de busca | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Busca múltiplas credenciais com segurança, ignora as não encontradas | rpc: Contexto RPC, addresses: Array de endereços de credenciais, config?: Configuração de busca | Promise<MaybeAccount<Credential>[]> |
Serialização
| Método | Descrição | Parâmetros | Retorna |
|---|---|---|---|
getCredentialEncoder | Obtém o codificador para dados de credencial | Nenhum | Encoder<CredentialArgs> |
getCredentialDecoder | Obtém o decodificador para dados de credencial | Nenhum | Decoder<Credential> |
getCredentialCodec | Obtém o codec para dados de credencial | Nenhum | Codec<CredentialArgs, Credential> |
Exemplos de Uso
Buscar uma Única Credencial
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Buscar Múltiplas Credenciais
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Busca Segura
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Observações Importantes
- O campo
discriminatoré usado internamente e não deve ser modificado - O campo
authoritydetermina quem tem controle sobre a credencial authorizedSignersé um array de endereços autorizados a criar atestações sob esta credencial- O campo
nameé armazenado como um array de bytes e deve ser devidamente codificado/decodificado de acordo com as necessidades da sua aplicação - Apenas signatários autorizados podem criar atestações sob uma credencial
- A autoridade pode modificar a lista de signatários autorizados
Is this page helpful?