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