Saltearse al contenido

SDK de Go - Formato de Serialización Canónica Binaria (BCS)

Todos los argumentos de transacción para el SDK de Go de Aptos están codificados como bytes en formato de Serialización Canónica Binaria (BCS). Este es el formato que la cadena de Aptos reconoce, con tipos específicos (ej. En lugar de un uint64 o big.Int, usa tipos como u64 o u128)

Puedes usar directamente el formato BCS para construir transacciones especificando los tipos de argumento explícitamente así:

accountBytes, err := bcs.Serialize(&bob.Address)
if err != nil {
panic("Failed to serialize bob's address:" + err.Error())
}
amountBytes, err := bcs.SerializeU64(TransferAmount)
if err != nil {
panic("Failed to serialize transfer amount:" + err.Error())
}
rawTxn, err := client.BuildTransaction(alice.AccountAddress(), aptos.TransactionPayload{
Payload: &aptos.EntryFunction{
Module: aptos.ModuleId{
Address: aptos.AccountOne,
Name: "aptos_account",
},
Function: "transfer",
ArgTypes: []aptos.TypeTag{},
Args: [][]byte{
accountBytes,
amountBytes,
},
}},
)

Puedes aprender más sobre BCS explorando el repositorio de BCS en GitHub.