Funciones Importantes en EOSIO

Cuenta Privilegiada EOSIO#

Esta cuenta tiene acceso ilimitado a los recursos de CPU, NET y RAM que representan la m谩xima autoridad de la red que puede ejecutar funciones privilegiadas.

Por lo general, esta autoridad se invoca mediante un contrato de firma m煤ltiple (o "firma m煤ltiple") que requerir谩 el consentimiento de una supermayor铆a de los productores de bloques. Esta cuenta privilegiada se llamar谩 cuenta eosio.

Funciones Privilegiadas EOSIO#

Los contratos inteligentes de EOSIO son simples archivos de WebAssembly. El formato WebAssembly permite definir importaciones, funciones que no se declaran en WASM en s铆 pero en el entorno en el que se ejecuta el c贸digo de WebAssembly. EOSIO utiliza estas funciones integradas (intr铆nsecas) para intercambiar datos entre el c贸digo de contrato de WebAssembly y el nodo EOSIO nodeos. Cada vez que la m谩quina virtual EOS (EOSVM), que ejecuta el c贸digo de WebAssembly, llega a un nivel intr铆nseco, el control del programa se transfiere al c贸digo del controlador de nodo para resolverlo. Una lista completa de funciones intr铆nsecas para EOSIO 2.0.X se puede encontrar aqu铆.

set_resource_limits#

Actualiza los limites de recursos asociados a una cuenta.

account: La cuenta destino
ram_bytes: El limite de RAM en bytes
net_weight: El weight para determinar su capacidad de NET
cpu_weight: El weight para determinar su capacidad de CPU

set_prods#

Establece una nueva lista de productores(validadores) activos. Una vez que el bloque con la propuesta se vuelve irreversible los nuevos productores se vuelven activos.

schedule: JSON con lista de productores y sus signing keys

set_params#

Modifica uno o varios par谩metros de la blockchain.

  • max_block_net_usage: La cantidad maxima de uso de net en un bloque.
  • target_block_net_usage_pct: El porcentaje de uso maximo de net, pasado este limite la red entra en modo congestion.
  • max_transaction_net_usage: El uso maximo de net que la chain va a permitir, mas alla de los limites de la cuenta.
  • base_per_transaction_net_usage: El monto base de uso neto facturado por una transacci贸n para cubrir imprevistos.
  • context_free_discount_net_usage_num: El numerador para el descuento en el uso neto de datos sin contexto.
  • context_free_discount_net_usage_den: El denominador para el descuento en el uso neto de datos sin contexto.
  • max_block_cpu_usage: El uso m谩ximo de la CPU facturable (en microsegundos) para un bloque.
  • target_block_cpu_usage_pct: El porcentaje objetivo (1% == 100, 100% = 10,000) del uso m谩ximo de CPU; exceder esto desencadena el manejo de la congesti贸n.
  • max_transaction_cpu_usage: El uso m谩ximo de CPU facturable (en microsegundos) que la cadena permitir谩 independientemente de los l铆mites de la cuenta.
  • min_transaction_cpu_usage: El uso m铆nimo de CPU facturable (en microsegundos) que requiere la cadena.
  • max_transaction_lifetime: El n煤mero m谩ximo de segundos que la caducidad de una transacci贸n de entrada puede adelantarse a la hora del bloque en el que se incluye por primera vez.
  • deferred_trx_expiration_window: El n煤mero de segundos despu茅s del tiempo en que una transacci贸n diferida puede ejecutarse primero hasta que caduque.
  • max_transaction_delay: El n煤mero m谩ximo de segundos que pueden imponerse como requisito de retraso mediante verificaciones de autorizaci贸n.
  • max_inline_action_size: Tama帽o m谩ximo permitido (en bytes) de una acci贸n en l铆nea.
  • max_inline_action_depth: L铆mite de profundidad de recursi贸n al enviar acciones en l铆nea.
  • max_authority_depth: L铆mite de profundidad de recursi贸n para verificar si una autoridad est谩 satisfecha.

set_privileged#

Permite establecer como privilegiada a una cuenta.

account: La cuenta que se quiere setear como privilegiada.
is_priv: 0 para falso, mayor a 0 para verdadero.

Acciones de Sistema#

Estas acciones no requieren ser ejecutadas por una cuenta privilegiada.

new_account#

Crea una cuenta nueva.

creator: Nombre de la cuenta que crea la cuenta nueva.
name: Nombre de la cuenta nueva.
owner: Owner public key.
active: Active public key.

set code#

Set code establecer o actualizar un contrato inteligente en una cuenta.

account: La cuenta a la que se desea publicar un contrato.
code: El c贸digo en forma de BLOB binario.

set abi#

Permite establecer o actualizar el abi para el contrato inteligente, se identifica por account_name.

account: El nombre de la cuenta destino.
abi: El abi.

updateauth#

Actualiza los permisos de una cuenta.

account: La cuenta que se desea modificar.
pemission: El nombre del nuevo permiso.
parent: El permiso padre del nuevo permiso.
auth: El json definiendo la autorizaci贸n de permisos.

deleteauth#

elimina la autorizaci贸n de permisos de una cuenta.

account: La cuenta destino.
permission: El nombre del permiso que se desea eliminar.

linkauth#

Asigna una acci贸n especifica de un contrato a un permiso especifico, cinco acciones no pueden ser linkeadas updateauth, deleteauth, linkauth, unlikauth, canceldelay.

account: Cuenta destino.
code: Cuenta owner de la acci贸n que se desea linkear.
type: La accion que se desea linkear.
requirement: El permiso a linkear.

unlinkauth#

Es la reversa de linkauth.

account: Cuenta destino.
code: Cuenta owner de la accion que se desea deslinkear.
type: La acci贸n que se desea deslinkear.

Contrato Nativo eosio.token#

Estas acciones pueden ser ejecutadas por cualquier cuenta con el fin de emitir un token propio.

create#

Le permite a una cuenta issuer crear un token.

issuer: La cuenta que crea el token.
maximum_supply: La cantidad maxima junto al simbolo del token.

issue#

Esta acci贸n distribuye a una cuenta una cantidad de tokens determinada.

to: Cuenta a la que se distribuyen los tokens.
quantity: La cantidad de tokens a distribuir.
memo: memo que acompa帽a la distribuci贸n inicial de tokens.

retire#

El opuesto a crear un token.

quantity: La cantidad de tokens a retirar.
memo : El memo que acompa帽a la transacci贸n.

transfer#

Transfiere de una cuenta origen a una cuenta destino una cantidad "n" de tokens.

from: Cuenta origen desde donde se debitan los tokens.
o: Cuenta destino a la que acreditar los tokens.
quantity: La cantidad de tokens.
memo: Memo que acompa帽a la transacci贸n.
Last updated on by JustinCast