Guía para principiantes de Kadena: Cuentas + conjuntos de claves – Kadena

Dos conjuntos de teclas son iguales cuando coinciden todos sus conjuntos de teclas, y tienen la misma función de predicado que protege las teclas. Esto significa que si tiene una cuenta definida en el contrato de monedas como los siguientes datos:

clave: "Emily" -> valor: {0.0, {("fcca3bc5 …"), "claves-todas"}}

Y alguien intenta transferir-crear (ver: comenzar con las transferencias) a su cuenta (que compara el conjunto de claves con el proporcionado por el remitente) con los siguientes datos:

(transfer-create 1.0 "Emily" {("fcca3bc5 …"), "keys-any"})

Entonces esto fallará porque el conjunto de claves que rige la cuenta es incorrecto, y la cadena de bloques verá la transacción como alguien que usa las claves incorrectas para intentar acceder a una cuenta. Si se imagina una junta directiva sentada y todos tienen que estar presentes para votar, pero un bozo entra tratando de decir que solo 1 de ellos debe estar allí y el resto puede irse a casa, esa persona se reiría ¡fuera del cuarto! Lo mismo ocurre con los conjuntos de teclas. Asegúrate de que las llaves coincidan exactamente.

Kadena es única en el hecho de que no existe una noción global de lo que es una cuenta. ¡Incluso el token KDA existe como un contrato inteligente en la red! Resulta que en la cadena de bloques Kadena, cada contrato inteligente puede definir sus propias tablas e interactuar con ellas de una manera robusta, definiendo sus propias estructuras de datos, llamadas esquema. Estos esquemas se utilizan dentro del contrato para definir la estructura de la tabla y, por lo tanto, la forma en que el contrato almacenará los datos. Sucede que esto es exactamente lo que hace el contrato de monedas de KDA: define una tabla llamada coin-table junto con un esquema llamado coin-schema, que define el modelo general para interactuar con tokens. El esquema es bastante simple: las claves de fila son nombres de cuenta y los datos que señala son un saldo y un conjunto de claves que rigen la cuenta. Visualmente, se ve así:

clave: Nombre de la cuenta -> valor: {Saldo, claves}

En la práctica, muchas personas están acostumbradas al modelo que usan cadenas de bloques como Ethereum o Bitcoin, donde las claves públicas se consideran una "dirección", y hay un saldo asociado. Esto es muy similar a lo que tiene Kadena. De hecho, si convierte el nombre de su cuenta en su clave pública, entonces se ve más o menos igual:

clave: "f1f6f54914f33 …" -> valor: {0.0, ("f1f6f54914f33 …")}

Pero si realmente quieres ponerte elegante, entonces puedes tener un nombre personalizado como tu nombre de cuenta:

clave: "2Chainz" -> valor: {0.0, ("f1f6f54914f33 …")}

Realmente no importa, ¡solo tienes que recordarlo! En la práctica, esta es la razón por la cual las personas solo usan una clave pública como nombre de cuenta: está ahí en las claves. A medida que aparezca una tecnología más sofisticada que soporte el ecosistema de Kadena, y que la tecnología de billetera mejore y mejore, el seguimiento de este tipo de cosas se encargará automáticamente.

La creación de cuentas ocurre en de varias maneras:

Al extraer una cuenta y un conjunto de claves, cuando gana un bloque, la recompensa creará su cuenta automáticamente utilizando el conjunto de claves y la cuenta que especificó. De manera predeterminada, si solo envía su clave pública como argumento a su conjunto de claves, se construirá un conjunto de claves singleton y su predicado se establecerá en keys-all.coin.create-account que le permite a alguien crear un nuevo saldo cero cuenta (tenga en cuenta que esto cuesta gas, que tendría que pagar con una cuenta diferente, que es posible con Kadena). Alguien usó transfer-create o transfer-crosschain para transferir monedas a una cuenta que no existía (esas funciones crean espontáneamente una cuenta y deposite el monto de la transferencia en ella si la cuenta no existe).

Simplemente crear un par de claves públicas no es lo mismo que crear una cuenta en la cadena de bloques, pero garantiza que tenga un nombre de cuenta único. Criptográficamente, las claves públicas están casi garantizadas para ser generadas de forma única, por lo que las personas a menudo combinan las dos.

Junto con su , Kadena lanzó una billetera para Mac, llamada Chainweaver, y esta billetera le permite crear cuentas de manera gradual. Hay cierta complejidad y confusión con respecto a lo que es y no es una cuenta o una dirección en esta billetera, ¡así que estoy aquí para aclararlo!

Comencemos por definir una cuenta rápida de Chainweaver. Todo lo que necesita hacer es hacer clic en la pestaña "billeteras" en la barra superior izquierda para llegar a una página donde se enumerarán sus cuentas.

La pestaña "Carteras" de Chainweaver

Tenga en cuenta que en la esquina superior derecha de la ventana hay un botón "+ Agregar cuenta". Haga clic en eso para acceder a la ventana de agregar cuenta:

Agregar una cuenta en Chainweaver

Ahora, todo lo que tenemos que hacer aquí es decidir qué cadena queremos declarar nuestra cuenta y hacer clic en "Agregar nueva cuenta". Verá una nueva entrada de cuenta con una clave pública generada aleatoriamente que define la nueva cuenta que acaba de ingresar:

¡Oye, una cuenta de Chainweaver!

Sin embargo, esta es una mentira conveniente. La cuenta no existe en , solo en Chainweaver. Funciona de manera efectiva como una "nueva cuenta" en el sentido de que es un lugar reservado garantizado (criptográficamente) en las tablas de monedas, pero la cuenta aún no es visible para nadie. La próxima vez que intente recibir o enviar monedas, Chainweaver detectará que la cuenta aún no está en la cadena de bloques y hará su cuenta implícitamente (lo que significa que la primera transacción que realice con la cuenta inexistente cuesta un poco más) que tu próximo). Al eliminar la necesidad de que los usuarios se preocupen por si existe una billetera en particular y simplemente hacer que la billetera la administre, eliminamos una capa de complejidad, lo que es una gran ganancia si tiene muchas cuentas.

Crear una cuenta de vanidad

Sin embargo, siempre tiene la opción de crear una llamada cuenta "real" en ese mismo momento en el proceso de creación de la cuenta, que está disponible en la pestaña "Avanzado" en el flujo de trabajo "+ Agregar cuenta".

Mira a este pequeño chico. Se estaba escondiendo!

Todo lo que necesita hacer es seguir las instrucciones y completar los campos paso a paso. Debido a que este flujo de trabajo crea la cuenta para usted en ese momento, tiene a alguien que puede pagar la creación de la cuenta personalizada. Se le permite enumerar a cualquiera que esté dispuesto a ahorrar algunos tokens, tal vez un minero u otra cuenta de su propiedad, luego puede enumerar esa cuenta como la que paga por la creación de la cuenta, y está en camino de trabajar con con una nueva cuenta brillante

Ahí lo tienes: ¡este ha sido un recorrido por las cuentas! Este es uno de los aspectos más fundamentales de la interacción con la cadena de bloques de Kadena, y me alegra que te hayas tomado el tiempo de leer al respecto. Hemos realizado algunas grandes mejoras en la forma en que las personas interactúan con blockchains, lo que admite el diseño de tablas de contratos inteligentes nativas y multi-sig, y nos complace tener en cuenta cualquier comentario que pueda dar.

También agradecemos la ayuda de la comunidad para documentar estas herramientas y construir otras nuevas en el camino. Siempre estamos felices de representar herramientas bendecidas por la comunidad si son mejores que las nuestras. Damos la bienvenida a cualquier persona que contribuya al repositorio de proyectos de la Comunidad de Kadena con su propio proyecto o agregue a los existentes. Hasta ahora, los proyectos de la comunidad han producido una gran billetera terminal con Bag of Holding y un minero de GPU increíblemente rápido por cortesía de Alex Khonovalov, Edmund Noble y una miríada de otros miembros de la comunidad increíblemente inteligentes.

Gracias a todos los que contribuyeron, y no duden en hacerme sus preguntas en Discord: mi nombre es uno de @topos, @pitopos o @emilypi, dependiendo de dónde esté en Internet. Estoy pegado perpetuamente a mi pantalla, por lo que generalmente responderé si me encuentras. En el caso de que esté durmiendo, puede haber un retraso.

Solo quiero hacer un comentario rápido sobre la "Dirección de Kadena" que aparece en Chainweaver, que a menudo es confusa para las personas. cuando haga clic en "Recibir" o "Enviar" desde cualquier cuenta, verá algo que hace referencia a una "Dirección de Kadena". Debido a un desafortunado choque en la terminología, me gustaría señalar que esto es no una cuenta válida de Kadena, y es, de hecho, un formato específico de Chainweaver que simplemente choca con la terminología común que rodea a las cuentas en Kadena.

La "Dirección de Kadena" de Chainweaver es no una estructura de cuenta de Kadena o como conjunto de claves, ¡es solo para la billetera! También se está reevaluando en futuras versiones, por lo que está sujeto a cambios.