Construye tu propia moneda en Algorand – Algorand

Algorand 2.0 y Algorand Standard Asset han sido lanzados. Ahora es el momento de implementar EvanCoin 2.0.

Anteriormente hablé sobre cómo implementar su propio token sobre Algorand usando el procesamiento de la capa dos y el campo de notas de la transacción de Algorand. Con el lanzamiento de Algorand 2.0 y el Activo estándar de Algorand, implementar su propio token ahora es ridículamente fácil.

Aquí hay un video que repasa el código.

¿Cuan sencillo? Bueno, el código que solía emitir mi propio activo es 84 líneas de golang, y gran parte de eso son comentarios y manejo de errores. El pseudocódigo se parece a esto:

Así de fácil. Honestamente. Publicaré fragmentos de código real en un segundo, y el enlace completo de GitHub está arriba.

Veamos lo real y veamos qué sucede.

En las líneas 1 y 2 del resumen, damos crédito a PureStake por su ejemplo: ¡el crédito es importante! Las líneas 4 y 5 comienzan a configurar argumentos para construir el algodClient, que se utiliza para comunicarse con la red. Para más información sobre esto, recomiendo los Algorand Developer Docs o los PureStake Ejemplos. Para esta demostración, nos conectaremos a un nodo PureStake, en lugar de a nuestro propio nodo.

Al final, puede ver un mnemotécnico y la dirección pública correspondiente. Podría hacer algo más inteligente aquí, como usar kmd o variables de entorno o argumentos pasados ​​para manejar claves, pero en este ejemplo, tomaremos la ruta más fácil pero menos recomendada de claves y direcciones codificadas.

Omitiremos la discusión de las líneas 23 a 45 más o menos del archivo de demostración principal. En resumen, al comienzo de main () hay algunas configuraciones, como construir el algodClient y consultar la información más reciente de la red. Un paso importante es convertir la frase de copia de seguridad mnemónica en una clave privada, que luego se utiliza para firmar y autorizar la transacción.

Una vez que todo esté al cuadrado, podemos construir nuestra transacción de creación de activos:

Los lectores con ojos de águila notarán que estoy omitiendo la verificación de error al final aquí. En GitHub, la comprobación de errores está presente.

Vayamos argumento por argumento y discutamos. La emisión total de la moneda es de 1000000, es decir, declaro que hay un millón de unidades EvanCoin. Luego, declaro que el número de decimales que se utilizará para la contabilidad es 0, o en otras palabras, no existe la noción de sats o wei o cualquier subdivisión; un 1 en una transacción debe mostrarse como 1 evancoin. Si hubiera proporcionado decimales = 6, entonces eso sería una pista para las GUI de que realmente estamos emitiendo "un millón de millonésimas de un EvanCoin", y un 1 en una transacción debería mostrarse como .000001 evancoin.

Las cuentas en EvanCoin están predeterminadas a no congeladas, no necesito hacer ninguna lista blanca antes de que alguien pueda realizar transacciones, solo necesitan optar. El administrador es la dirección a cargo del activo, así que lo configuré en mi dirección. No quiero que haya una noción de una reserva de EvanCoin, así que configuré la dirección de reserva en "". Esta es solo una moneda de demostración divertida para jugar, así que me doy el privilegio de congelar otras direcciones o recuperar las monedas de otras personas, no es que planee hacerlo. Además, siempre podría desactivar permanentemente estas funciones más tarde al reconfigurar el activo.

Llamaré al activo EvanCoin, y sus unidades son evancoin. En lugar de un enlace a un documento técnico o algo, simplemente vinculemos a mi GitHub, y omita cualquier compromiso de hash de metadatos sofisticado hoy.

¡Eso es! Esta transacción tx define completamente un nuevo activo en la cadena de bloques Algorand. Fuimos particularmente detallados al respecto por razones de claridad, y todavía solo tomó diez líneas de código. Firmemos y enviemos la transacción:

¡Éxito! La transacción ahora se puede encontrar en Algorand MainNet. Y, como utilicé la misma clave privada y clave pública para esta demostración que utilizo en mi Algorand Wallet, puedo ver el activo al instante:

¡Eso es realmente! Realice la transacción, fírmela, publíquela y el activo ahora existe. ¡Adelante ahora y hagamos algunos activos!