Saltar al contenido principal

ULedgerNET Smart Contracts & Tokens

Descripción general​

ULedgerNET proporciona una plataforma completa de smart contracts basada en WebAssembly (WASM) y un sistema de token nativo que admite tokens fungibles, tokens no fungibles (NFTs) y multi-tokens.

Runtime WASM​

Arquitectura​

🔍 click to expand

Características del runtime WASM​

ULedgerNET utiliza un runtime WASM de alto rendimiento para la ejecución de contratos:

CaracterísticaDescripción
RuntimeMotor WASM de nivel productivo
Modelo de memoriaMemoria lineal con crecimiento
EjecuciónCompilación JIT
AislamientoEjecución en sandbox

Medición de gas​

Descripción general del sistema de gas​

🔍 click to expand

Categorías de operaciones​

CategoríaDescripción
Operaciones baseInstrucciones WASM, llamadas a funciones
MemoriaAsignación, crecimiento, acceso
StorageLectura, escritura, eliminación
Funciones hostLlamadas externas al runtime

Funciones host​

Funciones host disponibles​

🔍 click to expand

Detalles de funciones host​

FunciónParámetrosRetornaDescripción
get_storagekey: stringvalueRecupera el valor almacenado
set_storagekey: string, value-Almacena un valor
delete_storagekey: string-Elimina el valor almacenado
has_keykey: stringboolVerifica la existencia de la clave
get_caller-addressRemitente de la transaction
get_owner-addressPropietario del contrato
get_block_height-uint64Altura del bloque actual
emit_eventname, data-Emite un evento del contrato

Ciclo de vida del contrato​

Despliegue​

🔍 click to expand

Invocación​

🔍 click to expand

Actualización/Reversión​

🔍 click to expand

Sistema de token nativo​

Estándares admitidos​

🔍 click to expand

Arquitectura de token​

🔍 click to expand

Tokens fungibles (similares a ERC20)​

Creación de token​

🔍 click to expand

Operaciones de token​

OperaciónDescripciónCampos del payload
CREATEDesplegar nuevo tokenname, symbol, decimals, initialSupply
TRANSFEREnviar tokenstokenAddress, to, amount
APPROVEPermitir gastotokenAddress, spender, amount
MINTCrear nuevos tokenstokenAddress, to, amount
BURNDestruir tokenstokenAddress, amount

Tokens no fungibles (similares a ERC721)​

Estructura de NFT​

🔍 click to expand

Operaciones de NFT​

OperaciónDescripciónCampos del payload
CREATEDesplegar colección de NFTname, symbol
MINTCrear nuevo NFTtokenAddress, to, tokenId, uri
TRANSFERTransferir NFTtokenAddress, from, to, tokenId
APPROVEAprobar transferenciatokenAddress, to, tokenId
SET_APPROVAL_FOR_ALLAprobar operadortokenAddress, operator, approved
BURNDestruir NFTtokenAddress, tokenId

Multi-tokens (similares a ERC1155)​

Características de multi-token​

🔍 click to expand

Operaciones de multi-token​

OperaciónDescripción
CREATEDesplegar contrato multi-token
MINTAcuñar un tipo de token único
MINT_BATCHAcuñar múltiples tipos de token
TRANSFERTransferir un tipo de token único
TRANSFER_BATCHTransferir múltiples tipos de token
CONVERTConvertir entre fungible/no fungible

Tipos de transaction​

Enumeración de tipos de transaction​

🔍 click to expand

Características de seguridad​

Seguridad en la ejecución de contratos​

🔍 click to expand

Características del gestor de seguridad​

CaracterísticaDescripción
Validación de operacionesVerificaciones de seguridad previas a la ejecución
Seguimiento de pila de llamadasPrevenir recursión profunda
Circuit BreakerDetener ante fallos repetidos
Límites de recursosLímites de memoria y computación

Gestión de estado​

Ejecución atómica​

🔍 click to expand

Almacenamiento de estado​

Tipo de almacenamientoFormato de claveDescripción
Estado del contratocontract:{address}:{key}Almacenamiento arbitrario de clave-valor
Saldos de tokentoken:{address}:balance:{owner}Saldos de tokens fungibles
Propiedad de NFTnft:{address}:owner:{tokenId}Mapeo de propietario de NFT
Aprobaciones{type}:{address}:approval:{...}Mapeos de aprobación

Siguiente: Consideraciones de seguridad