How to run a private network of the NEO block chain (Spanish)



  • Author,

    [email protected]

    La ejecución de una red privada de la cadena de bloques de NEO es una parte integral de trabajar con la cadena de bloques, en particular para escribir y probar dApps y contratos inteligentes. Una red privada es una cadena de bloques NEO completa para usted, aislada de las redes públicas. Puede utilizarlo rápidamente, reclamar los 100 millones de NEO iniciales y experimentar con todos los aspectos de la cadena. Esta publicación es una guía paso a paso para configurar una cadena privada con Docker y Python en Mac, Linux y Windows, y una introducción a neo-python y neo-privatenet-docker.

     

     Nota para los usuarios de Windows: - neo-python no es compatible actualmente con Windows, porque LevelDB solo funciona en OSX y Linux. Aún puede ejecutar la red privada con el contenedor de Docker, pero para crear monederos y extraer NEO y GAS debe seguir los documentos oficiales de la cadena privada NEO comenzando con el paso 5. - Docker no funciona con Windows 10 Home Edition, se necesitara al menos Windows 10 Pro.

     

     NEO y las herramientas nativas se desarrollan principalmente con C # utilizando Windows. La documentación oficial de NEO sobre cadenas privadas ofrece una buena visión general de cómo configurar una red privada con herramientas de Windows y 4 máquinas virtuales de Windows como nodos de consenso. Gracias a los esfuerzos monumentales de la comunidad de la Ciudad de Zion (CoZ), la ejecución de una cadena privada es posible en cualquier plataforma con Docker o Python, con requisitos mínimos en el sistema. Los dos proyectos específicos que vamos a utilizar son neo-python y neo-privatenet-docker:  - neo-python: nos permite ejecutar un nodo de NEO completo e interactuar con la cadena de bloques con Python 3. - neo-privatenet-docker : nos permite ejecutar toda una cadena de bloques NEO con 4 nodos de consenso en un único y ligero contenedor de Docker En este punto también quiero mencionar neo-js, una implementación de nodo NEO en JavaScript, con varias características en la fuente de informacion. neo-js no es tan maduro como neo-python, pero ya admite todas las llamadas RPC, y puede ejecutar un nodo local completo, guardando los datos de la cadena de bloques en una base de datos MongoDB.

     

     Configurando una cadena NEO privada, paso a paso
     Los pasos son los siguientes: Configuración de Docker →
    neo-privatenet-docker → neo-python → conectarse a la red privada y crear
    un monedero → reclamar los 100.000.000 NEO iniciales.  Configuración DockerAsegúrese de tener Docker instalado y en ejecución: https://docs.docker.com/engine... Asegúrese de que Docker esté actualizado a la última versión.Debería poder ejecutar $ docker ps sin encontrar errores Ejecutar la cadena privada Contenedor Docker - Clone neo-privatenet-docker,
    luego construya y ejecute el contenedor Docker con los cuatro nodos
    iniciales de consenso: - En este punto, el contenedor Docker que ejecuta
    los nodos de consenso se ejecuta en segundo plano. Puedes verlo con $
    docker ps:  -Si encuentra un error como https://registry-1.docker.io/v2/library/ubuntu/manifests/16.04:
    unauthorized: incorrect username or password , puede que necesite
    iniciar sesión en el Docker hub $ docker login con su usuario -id (no el
    correo electrónico). - Cuando el contenedor Docker se detiene o se
    reinicia, se borra todo el estado (toda la cadena de bloques 'anterior'
    se habrá ido), y también se debe eliminar Chains / privnet de neo-python
    y cualquier monedero de privnet que haya creado.  neo-pythonAhora
    podemos conectarnos a la red privada con neo-python, crear una
    billetera y reclamar el NEO inicial:  - Configure neo-pytho como se
    describe en el archivo README: https://github.com/CityOfZion/...
    - Conéctese con neo-python a la cadena privada:  - El número de bloques
    debe aumentar continuamente (por ejemplo, 'Progreso 0/1') - Cree un
    monedero:  - Tome nota de la dirección, en este caso
    AKPwAZWyBWMdUe8NtoSYMeTmwCxrP4e2KB
    - Cierre prompt.py (escriba exit o presione CTRL + D)

    - Reclame los 100,000,000 NEO iniciales:  - Esto crea una transacción
    firmada por 3 de los 4 nodos de consenso, y espera que la cadena de
    bloques confirme la transacción. - Sea paciente, esto puede tomar uno o
    dos minutos.  En este punto, usted tiene 100m de NEO en su monedero y
    puedes hacer lo que quiera. Verifique el saldo con neo-python:  En este
    punto, ya tiene una cadena NEO privada en funcionamiento y con control
    total sobre los fondos iniciales. ¡Feliz hacking!  Cómo reiniciar y restablecer la red privadaEl
    contenedor Docker no persiste ningún estado. Si se detiene o se
    reinicia, todo el estado se pierde y toda la cadena de bloques se creará
    nuevamente en el próximo inicio. Es importante eliminar los archivos de
    cadena antiguos de neo-python (chains / privnet), de lo contrario se
    encontrará con problemas al ejecutar la base de datos anterior en contra
    de la nueva cadena.  Puede reiniciar manualmente el contenedor de red
    privada ejecutando ./docker_run.sh .
    Esto detiene el contenedor neo-privnet si se está ejecutando, y comienza uno nuevo:  Reclamando el GAS inicialneo-python
    aún no es compatible con reclamar GAS. Puede reclamarlo con las
    herramientas oficiales de NEO como se describe en los documentos
    privados de la cadena NEO comenzando con el paso 5.  Consejos y trucos del Docker
    Aquí hay algunos comandos Docker de uso frecuente: -          docker ps
    enumera todas las instancias en ejecución, docker ps -a también todas
    las instancias detenidas – docs.-          Docker images enumera todas
    las imágenes locales desde las que puede comenzar un contenedor desde -
    docs:-          docker exec -it {container-id} / bin / bash abre una
    interfaz bash con un contenedor en ejecución - docs -          docker
    stop {container-id} detiene el contenedor – docs-          docker rm -f
    {container-id} detiene y elimina el contenedor – docs-          docker
    run para iniciar un nuevo contenedor - docs  NEO TestNetEl
    proyecto NEO también proporciona un TestNet en ejecución, pero esto
    solo debe usarse en las etapas finales de desarrollo (por diversas
    razones).    neo-python
    ¡neo-python es un proyecto increíble, un esfuerzo comunitario para
    volver a implementar el proyecto C # NEO original en Python! El proyecto
    ha recorrido un largo camino y ya admite las siguientes
    funcionalidades:  - Ejecución de un nodo NEO P2P basado en Python - CLI
    interactivo para configurar el nodo, así como inspeccionar e interactuar
    con la cadena de bloques - Ejecución de contratos inteligentes en la
    cadena de bloques en una máquina virtual Python - Funcionalidad básica
    de monedero (no completamente probada, no la use en mainnet)  neo-python
    se ha bifurcado desde un "muy" preliminar Python SDK, pero el
    desarrollo realmente comenzó en julio de 2017, con contribuciones
    constantes desde entonces: Desde el 3 de noviembre de 2017, neo-python
    tiene 18 colaboradores, y está encabezado por un localhuman.  Si
    desea trabajar con la cadena de bloques de NEO en una plataforma que no
    sea Windows, seguramente interactuará con neo-python de una forma u
    otra.
    Es una parte integral de la cadena de herramientas de
    desarrollo multiplataforma, que se desarrolla activamente y, en general,
    un gran proyecto. ¡Solo quiero enviar un gran agradecimiento a todas
    las personas que contribuyeron para que esto sea posible! ♥ ️ Estoy
    entusiasmado con el brillante futuro de este proyecto y su futuro
    desarrollo. neo-privatenet-docker Echemos un vistazo más de cerca a neo-privatenet-docker, que nos permite ejecutar fácilmente una cadena de bloques NEO privada dentro de una imagen de Ubuntu Docker. Una cadena privada requiere
    al menos 4 nodos de consenso, que se ejecutan dentro de este único
    contenedor Docker. Los principales contribuyentes son hal0x2328 y phetter.  Comencemos con el archivo Docker:    -          La imagen está basada en Ubuntu 16:04 -          Se instalan varias utilidades del sistema, incluyendo LevelDB, un rápido almacenamiento de clave-valor de Google, y sqlite3,
    una base de datos SQL transaccional autónoma, sin servidor y de
    configuración cero. -          Los repositorios de Microsoft apt están
    configurados y dotnet-sdk-2.0.0 está instalado.
    Recuerde, el proyecto NEO original se implementa en C # y se ejecuta en .NET Core. -          Se descarga la versión neo-cli de
    Ubuntu  Esa es prácticamente toda la configuración. Después de esto, se
    extrae neo-cli 4 veces (una para cada nodo de consenso) y se copian los
    archivos de inicio de la cadena privada: Cuando ejecuta el contenedor
    Docker con docker_run.sh, inicia el contenedor con 4 puertos abiertos
    (20333-20336, asignados al host) e invoca el script
    private_chain_start.sh:  private_chain_start.sh a su vez inicia 4 nodos
    NEO al ejecutar start_cli.sh cuatro veces:  Este código establece
    algunas variables a partir de los argumentos (dnpath, wallet, password),
    ejecuta dotnet neo-cli.dll, abre el monedero inicial del nodo y llama
    start consensuss para iniciar los nodos. En este punto, se están creando
    bloques en la cadena privada. ¡Eso es prácticamente todo! Y a pesar de
    que no parece a mucho código, es un salvavidas para comenzar con el
    desarrollo de la cadena de bloques de NEO y ejecutar una cadena privada,
    ya que permite que sea muy fácil y accesible. De nuevo, ¡muchas gracias
    a los desarrolladores que dirigen este proyecto! ¡Sugeriría que lo
    pruebes ahora mismo! Simplemente sigue la guía de inicio que se muestra arriba y tendrás tu propia cadena privada de NEO ejecutándose en muy poco tiempo.  Siéntete libre de unirte a NEO Slack
    y saluda, ¡es una comunidad abierta y acogedora! También puedes
    encontrar enlaces a otros recursos en la página oficial de NEO en neo.org. Si tiene comentarios sobre esta publicación, comuníquese con el autor a través de @metachris. 



Looks like your connection to Cryptocentral was lost, please wait while we try to reconnect.