Saltar al contenido principal

Generar parámetros de clave de ledger con una clave de símbolo utilizando el SDK de Python

En el contrato de ejemplo increment se almacena un valor entero en una entrada de ledger que está identificada por una clave con el símbolo COUNTER. El valor de esta clave de ledger puede derivarse utilizando los siguientes fragmentos de código.

from stellar_sdk import xdr, scval, Address

def get_ledger_key_symbol(contract_id: str, symbol_text: str) -> str:
ledger_key = xdr.LedgerKey(
type=xdr.LedgerEntryType.CONTRACT_DATA,
contract_data=xdr.LedgerKeyContractData(
contract=Address(contract_id).to_xdr_sc_address(),
key=scval.to_symbol(symbol_text),
durability=xdr.ContractDataDurability.PERSISTENT
),
)
return ledger_key.to_xdr()

print(
get_ledger_key_symbol(
"CCPYZFKEAXHHS5VVW5J45TOU7S2EODJ7TZNJIA5LKDVL3PESCES6FNCI",
"COUNTER"
)
)