Cuenta

Una cuenta de Polysmartchain es una entidad con saldo PSC que puede enviar transacciones en Polysmartchain.El usuario puede controlar la cuenta o puede implementarse como un contrato inteligente.

Tipo de cuenta

PolysmartChain tiene dos tipos de cuenta.

  • Externally Held - Control del propietario de la clave privada

  • Contracts - un tipo de contrato inteligente controlado por código y desplegado en la red.Aprende sobre los contratos inteligentes.

Ambos tipos de cuenta pueden:

  • Recibir, mantener y enviar PSC y token

  • Interactuar con contratos inteligentes implementados

Principales diferencias

Externally Held

  • La creación de la cuenta es gratuita.

  • Puede iniciar transacciones

  • Solo se pueden negociar PSC y Token entre todas las cuentas externas

Contracts

  • Hay costos asociados con la creación de contratos debido a la necesidad de usar el espacio de almacenamiento de red

  • Las transacciones solo se pueden enviar cuando se reciben

  • Las transacciones iniciadas desde una cuenta externa a una cuenta de contrato pueden activar un código que puede realizar una variedad de acciones, como transferir tokens o incluso crear nuevos contratos

Comprender cuentas

Las cuentas de Polysmartchain tienen cuatro campos:

  • nonce – un contador que muestra el número de transacciones enviadas desde la cuenta.Esto asegurará que las transacciones se procesen solo una vez.En una cuenta de contrato, este número representa el número de contratos creados para esa cuenta.

  • balance – el número de wei que tiene esta dirección.Wei es la unidad de recuento para éter, y cada ETH tiene 1e+18 wei.

  • codeHash - este hash representa el código de cuenta en la máquina virtual Polysmartchain (EVM).La cuenta del contrato ha programado piezas de código que pueden realizar diferentes operaciones.Si la cuenta recibe una llamada de mensaje, se ejecuta este código EVM.A diferencia de otros campos de cuenta, no se puede cambiar.Todos los fragmentos de código se almacenan en la base de datos de estado bajo el hash correspondiente para la recuperación posterior.Este hash se llama CodeHash.Para todas las cuentas externas, el campo CodeHash es un hash de la cadena vacía.

  • storageRoot – a veces se le conoce como un hash de almacenamiento.El hash de 256 bits del nodo raíz de Merkle Patricia Trie ha codificado los contenidos almacenados de la cuenta (asignación de valor entero de 256 bits) y se codifica como un Trie como una llave entera de bits asignados del hash de 256 keccak 256 bits para elValor entero de 256 bits codificado de RLP.Este Trie codifica el hash del contenido almacenado de esta cuenta, que está vacío por defecto.

Cuentas y pares de claves externamente

Las cuentas consisten en pares de cifrado de clave públicos y privados.Ayudan a probar que la transacción fue realmente firmada por el remitente y prevenir la falsificación.Su clave privada es la clave que usa para firmar transacciones, por lo que protege su administración de los fondos asociados con su cuenta.NUNCA, en realidad, usted tiene la criptoCurencia, usted tiene la clave privada: los fondos están siempre en los libros de Polysmartchain.

Esto evitará que los participantes maliciosos transmitan transacciones falsas, ya que siempre puede verificar el remitente de la transacción.

Si Alice quiere enviar PSC de su propia cuenta a la cuenta de Bob, Alice necesita crear una solicitud de transacción y enviarla a la red para verificación.El uso de Ethernet del cifrado de clave pública garantiza que Alice pueda demostrar que inició la solicitud de transacción en primer lugar.Sin cifrado, la eve adversa maliciosa podría simplemente transmitir públicamente una solicitud que parece "enviar 5 PSC desde la cuenta de Alice a la cuenta de Eva".Y nadie puede demostrar que no vino de Alice.

Creación de cuenta

Cuando quiera crear una cuenta, la mayoría de las bibliotecas generarán una clave privada al azar.

La clave privada consta de 64 caracteres hexadecimales y se puede almacenar cifrados con una contraseña.

Por ejemplo:

fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f

Genere la clave pública desde la clave privada utilizando el algoritmo de firma digital de la curva elíptica.Puede obtener una dirección pública para su cuenta obteniendo los últimos 20 bytes del hash Keccak-256 de la clave pública y agregando 0x frente a la suma de verificación.

El siguiente es un ejemplo de creación de una cuenta en la consola utilizando el personal_newaccount de GPSC

1> personal.newAccount()2Passphrase:3Repeat passphrase:4"0x5e97870f263700f46aa00d967821199b9bc5a120"5
6> personal.newAccount("h4ck3r")7"0x3d80b31a78c30fc628f20b2c89d7ddbf6e53cedc"8

Es posible obtener una clave pública de su clave privada, pero no puede obtener una clave privada de una clave pública.Esto significa que es fundamental mantener la clave privada segura, ya que el nombre sugiere privado.

Necesita una clave privada para firmar mensajes y transacciones y generar una firma.Otros pueden usar la firma para obtener su clave pública y probar la autoría del mensaje.En su aplicación, puede usar la biblioteca JavaScript para enviar transacciones a la red.

Cuentas de contrato

La cuenta del contrato también tiene una dirección hexadecimal que consta de 42 caracteres:

Por ejemplo:

0x06012c8cf97bead5deae237070f9587f8e7a266d

La dirección del contrato generalmente se proporciona cuando el contrato se implementa en la cadena de bloques PolySmartChain. La dirección se genera a partir de la dirección del creador y el número de transacciones enviadas desde la dirección del creador ("nonce").

Nota en la billetera

Una cuenta es diferente de una billetera.Una cuenta es una clave de usuario y un par de dirección para una cuenta de Ethereum.Una billetera es una interfaz, o una aplicación, que le permite interactuar con su cuenta de PolysMartChain.

Expansión de recursos

Last updated