Cómo utilizar Madara con Avail

Introducción

Embárcate en configurar tu propio Validium basado en Madara, aprovechando Avail como capa de disponibilidad de datos. Esta guía está diseñada para implementarse en la red de prueba Sepolia de Ethereum y para integrarse con la red de prueba Avail Goldberg. Para obtener una comprensión integral de Madara Starknet, revise eldocumentación de madara(se abre en una nueva pestaña).

En esta guía, realizará lo siguiente:

Requisitos previos

Asegúrese de haber instalado el siguiente software.

Los comandos de instalación se basan en Ubuntu 20.04 LTS:

# Install Rustcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shrustup toolchain install nightly # Install nvm and Node.jscurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bashexport NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvmnvm install --lts # Install Cairocurl -L https://github.com/franalgaba/cairo-installer/raw/main/bin/cairo-installer | bash

Software

Versión

rustc 1.69.0-nightlyo después

Ultima versión

1.0

Requisitos de hardware

La pila Madara, al ser un secuenciador StarkNet, tiene requisitos de hardware específicos para un funcionamiento eficiente. Estos requisitos son particularmente importantes al integrar Avail como capa DA.

Componente

Requerimientos mínimos

Configuración recomendada

Instancia de AWS sugerida

Nodo secuenciador

CPU de 4 núcleos, 16 GB de RAM, 100 GB de SSD

CPU de 8 núcleos, 32 GB de RAM, SSD de 200 GB

m5a.xlarge

Nodo de disponibilidad

CPU de 4 núcleos, 8 GB de RAM, 50 GB de SSD

CPU de 8 núcleos, 16 GB de RAM, 100 GB de SSD

m5a.grande

Los requisitos de almacenamiento pueden variar según el volumen de transacciones y la longitud del historial de la cadena que desee mantener. Para redes con mucho tráfico, considere ampliar su capacidad de almacenamiento en consecuencia.

Lanzar un Madara Validium con tecnología disponible

  1. Clonar el repositorio de Madara:

    git clone git@github.com:keep-starknet-strange/madara.gitcd madara
  2. Construya la cadena en modo de lanzamiento:

    cargo build --release

Ejecución de una cadena de desarrollo de un solo nodo

  1. Iniciar la cadena de desarrollo:

    ./target/release/madara --dev
  2. Purgar el estado de la cadena:

    ./target/release/madara purge-chain --dev
  3. Comience con el registro detallado:

    RUST_BACKTRACE=1 ./target/release/madara -ldebug --dev
  4. Cree una especificación de cadena simple:

    ./target/release/madara build-spec > ./infra/chain-sepcs/chain-spec-plain.json

Configuración de Avail como capa DA

  1. Configurar Avail para Madara:

    # Configuration for local Avail nodecat > da-config.json <<EOF{  "ws_provider": "ws://127.0.0.1:9945",  "app_id": 0,  "validate_codegen": false,  "seed": "//Alice"}EOF
  2. Iniciar Avail Node (en otra terminal):

    ./data-avail --dev --rpc-port 9945 --port 30334
  3. Configurar Madara para disponibilidad:

    ./madara setup --chain=dev --from-remote --base-path=../.madara
  4. Inicie Madara con Avail:

    ./madara --chain=dev --base-path=../.madara --da-layer=avail --force-authoring --alice

Implementar una cuenta en su cadena

  • Después de configurar su cadena, puede implementar su propia cuenta y comenzar a realizar transacciones.

Usando Avail en Madara

  • Especifique --da-layer availal iniciar un nodo Madara utilizar Avail para publicar state_diff.

💡

Recuerde ajustar el da-config.jsonarchivo según su configuración, ya sea un nodo local o utilizando la red Avail.

Last updated