Transacción
Last updated
Last updated
Una transacción es una instrucción emitida por una cuenta con una firma criptográfica.La cuenta iniciará la transacción para actualizar el estado de la red Ethernet.La transacción más simple es una transferencia de PSC de una cuenta a otra.
Una transacción de Polysmartchain es una acción iniciada por una cuenta contenida externamente, en otras palabras, una cuenta administrada por un contrato humano en lugar de inteligente.Por ejemplo, si Bob envía Alice 1 PSC, la cuenta de Bob debe disminuir en 1 PSC y la cuenta de Alice debe aumentarse en 1 PSC.Esta acción ocurre durante la transacción y cambia el estado.
Las transacciones que cambian el estado del EVM deben transmitirse a toda la red.Cualquier nodo puede transmitir una solicitud de transacción en el EVM;A partir de entonces, el minero ejecutará la transacción y propagará el cambio de estado resultante al resto de la red.
Las transacciones requieren una tarifa y deben extraerse para ser válidas.Para simplificar esta descripción general, lo llamaremos tarifas de gas y minería.
Las transacciones presentadas incluyen la siguiente información:
recipient
– recibir la dirección (si es una cuenta external de mantenimiento, la transacción transmitirá el valor. Si es una cuenta de contrato, la transacción ejecutará el código de contrato)
signature
– el identificador del remitente.Esta firma se genera cuando la clave privada del remitente firma una transacción para garantizar que el remitente haya autorizado esta transacción.
value
– cantidad de ETH transferida del remitente al destinatario (en Wei, una denominación de ETH)
data
– campos opcionales que pueden incluir cualquier dato
gasLimit
– la cantidad máxima de gas que puede ser consumida por una transacción.La unidad de gas representa el paso de cálculo
maxPriorityFeePerGas
- Cantidad máxima de gas incluida como consejo de minero
maxFeePerGas
- cantidad máxima de gas dispuesta a pagar la transacción (incluidas BasefeEpergas y MaxpriorityFeEpergas)
El gas es la cantidad de potencia aritmética requerida por el minero para procesar la transacción.El usuario debe pagar una tarifa por este cálculo.Gaslimit y Gasprice determinan la tarifa de transacción máxima que se pagará al minero.
El objeto de transacción se ve así:
Sin embargo, el objeto de la transacción debe firmarse con la clave privada del remitente.Esto demuestra que la transacción solo puede provenir del remitente y no del fraude.
El cliente Polysmartchain como GPSC manejará este proceso de firma.
Ejemplo JSON-RPC Llamada:
Respuesta de ejemplo:
raw
es la forma codificada de RLP (prefijo de longitud recursiva) de la transacción firmada.
tx
es la forma JSON de la transacción firmada.
Si hay un hash de firma disponible, la transacción puede ser comprobada cryptográficamente que proviene del remitente y se envía a la red.
Polysmartchain tiene varios tipos diferentes de transacciones:
Transacciones regulares: transacciones de una billetera a otra.
Transacciones de implementación del contrato: transacciones sin dirección "a", campo de datos para el código de contrato.
Como se mencionó anteriormente, cuesta gas que ejecute la transacción.Una transferencia simple cuesta 21,000 gas.
Suponiendo que Bob quiere enviar 1 PSC a Alice para 190 GWEI de Basefeepergas y 10 GWEI de MaxpriorityFeepergas, entonces Bob necesita pagar las siguientes tarifas:
La cuenta de Bob se reducirá en 1.0042 PSC.
La cuenta de Alice se incrementará en +1.0 PSC
Deducir la tarifa base de 0.00399 PSC
Los mineros retienen consejos +0.000210 PSC
Cualquier interacción con contrato inteligente también requiere gas.
Una vez que se envía una transacción, sucede lo siguiente:
Una vez que envíe una transacción, la criptografía genera la transacción HASH:0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017
La transacción se transmite a la red y se incluye en una colección con una gran cantidad de otras transacciones.
El minero debe seleccionar su transacción e incluirla en un bloque para validar la transacción y considerarla "exitosa".
Si la red está ocupada y los mineros no pueden mantenerse al día, es posible que pueda esperar en esta etapa.
Su transacción recibirá una "confirmación".El número de confirmaciones es el número de bloques creados desde el bloque que contiene su transacción.Cuanto mayor sea este número, mayor es la certeza de que la red será procesada y reconocida por la red.
El bloque más reciente puede reorganizarse, dando la impresión de que la transacción falló;Sin embargo, la transacción aún puede ser válida, pero contenida en otro bloque.
La probabilidad de reconfiguración disminuye con cada bloque posterior extraído, es decir, cuantas más confirmaciones, más inmutable se vuelve la transacción.