Una credencial representa una autoridad de certificación en el Sistema de Certificación de Solana. Las credenciales definen quién puede emitir certificaciones y qué tipos de certificaciones pueden emitir. Cada credencial tiene un conjunto de firmantes autorizados que pueden crear certificaciones bajo su autoridad.
Estructura
La estructura Credential representa una credencial en el Sistema de Certificación de Solana. Cada credencial define una autoridad que puede emitir certificaciones y los firmantes autorizados para hacerlo.
Definiciones de Tipos
Credential
export type Credential = {discriminator: number; // Internal discriminatorauthority: Address; // Authority public keyname: ReadonlyUint8Array; // Credential nameauthorizedSigners: Array<Address>; // List of authorized signers};
Métodos
Obtención de Credenciales
| Método | Descripción | Parámetros | Devuelve |
|---|---|---|---|
fetchCredential | Obtiene una única credencial por su dirección | rpc: Contexto RPC, address: Dirección de la credencial, config?: Configuración de obtención | Promise<Account<Credential>> |
fetchMaybeCredential | Obtiene una credencial de forma segura, devuelve null si no se encuentra | rpc: Contexto RPC, address: Dirección de la credencial, config?: Configuración de obtención | Promise<MaybeAccount<Credential>> |
fetchAllCredential | Obtiene múltiples credenciales por sus direcciones | rpc: Contexto RPC, addresses: Array de direcciones de credenciales, config?: Configuración de obtención | Promise<Account<Credential>[]> |
fetchAllMaybeCredential | Obtiene múltiples credenciales de forma segura, omite las no encontradas | rpc: Contexto RPC, addresses: Array de direcciones de credenciales, config?: Configuración de obtención | Promise<MaybeAccount<Credential>[]> |
Serialización
| Método | Descripción | Parámetros | Devuelve |
|---|---|---|---|
getCredentialEncoder | Obtiene el codificador para los datos de credencial | Ninguno | Encoder<CredentialArgs> |
getCredentialDecoder | Obtiene el decodificador para los datos de credencial | Ninguno | Decoder<Credential> |
getCredentialCodec | Obtiene el códec para los datos de credencial | Ninguno | Codec<CredentialArgs, Credential> |
Ejemplos de Uso
Obtener una Credencial Individual
const credential = await fetchCredential(rpc, credentialAddress);console.log("Credential name:", credential.name);
Obtener Múltiples Credenciales
const credentials = await fetchAllCredential(rpc, [credential1Address,credential2Address]);credentials.forEach((credential) =>console.log("Credential:", credential.name));
Obtención Segura
const credential = await fetchMaybeCredential(rpc, credentialAddress);if (credential) {console.log("Credential found:", credential.name);} else {console.log("Credential not found");}
Notas Importantes
- El campo
discriminatorse utiliza internamente y no debe ser modificado - El campo
authoritydetermina quién tiene control sobre la credencial authorizedSignerses un array de direcciones que están autorizadas para crear atestaciones bajo esta credencial- El campo
namese almacena como un array de bytes y debe ser codificado/decodificado correctamente según las necesidades de tu aplicación - Solo los firmantes autorizados pueden crear atestaciones bajo una credencial
- La autoridad puede modificar la lista de firmantes autorizados
Is this page helpful?