Despliegue del contrato de tokens

Como vimos en la guía Mi primera dapp, el despliegue en Archway es un proceso de varios pasos.

  1. Generar una compilación optimizada

  2. Almacenar la construcción optimizada en cadena

  3. Instanciar la colección NFT

  4. Configurar el contrato desplegado

Generar una compilación optima

Primero tendremos que producir una compilación optimizada de wasm y subirla a la blockchain.

Las compilaciones optimizadas se producen ejecutando el comando archway contracts build:

archway contracts build

Almacenar la construcción optimizada en cadena

Para almacenar la compilación optimizada en Archway utilizando la CLI de Archway, utilizarías el siguiente comando:

archway contracts store CONTRACT [--json] [--log-level debug|error|info|warn] [--instantiate-permission any-of|everybody|nobody] [--allowed-addresses <value>] [--keyring-backend file|os|test] [--keyring-path <value>] [-f <value>] [--fee <value>] [--no-confirm] [--gas-adjustment <value>]

Argumentos:

CONTRACT  (required) Name of the contract

Si utiliza el archwayd, puede lanzar:

MAINNET
archwayd tx wasm store artifacts/nft_test.wasm --from my-wallet --node https://rpc.mainnet.archway.io:443 --chain-id archway-1 --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.mainnet.archway.io:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3

TESTNET
archwayd tx wasm store artifacts/nft_test.wasm --from my-wallet --node https://rpc.constantine.archway.tech:443 --chain-id constantine-3 --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.constantine.archway.tech:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3

Instaciar la colección NFT

Ahora estamos listos para instanciar el contrato. La instanciación del contrato requiere tres parámetros:

  • name (nombre de la colección NFT)

  • symbol (un símbolo simbólico para representar la colección)

  • minter (la dirección del monedero autorizada para acuñar un nuevo NFT utilizando este contrato)

Cuando ejecutamos el comando archway instantiate, añadimos nuestros valores para name, symbol y minter como argumentos.

Uso de la CLI de Archway:

archway contracts instantiate basic-nft --args '{ "name": "Test Collection", "symbol": "NFTEST", "minter": "archway1f395p0gg67mmfd5zcqvpnp9cxnu0hg6r9hfczq" }'

Si utiliza archwayd:

MAINNET
archwayd tx wasm instantiate  '{ "name": "Test Collection", "symbol": "NFTEST", "minter": "archway1c23y29x9fcs4zlfv5tvl4nrq56p6gywq0snrxl" }' --from my-wallet --node https://rpc.mainnet.archway.io:443 --chain-id archway-1 --label testdev --admin archway1c23y29x9fcs4zlfv5tvl4nrq56p6gywq0snrxl --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.mainnet.archway.io:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3

TESTNET
archwayd tx wasm instantiate  '{ "name": "Test Collection", "symbol": "NFTEST", "minter": "archway1c23y29x9fcs4zlfv5tvl4nrq56p6gywq0snrxl" }' --from my-wallet --node https://rpc.constantine.archway.tech:443 --chain-id constantine-3 --label testdev --admin archway1c23y29x9fcs4zlfv5tvl4nrq56p6gywq0snrxl --gas auto --gas-prices $(archwayd q rewards estimate-fees 1 --node 'https://rpc.constantine.archway.tech:443' --output json | jq -r '.gas_unit_price | (.amount + .denom)') --gas-adjustment 1.3

Una vez que la instanciación tiene éxito, puedes acuñar tu primer token de la colección. Sigue leyendo para saber más sobre cómo interactuar con este contrato.

Configurar el proyecto desplegado

Ahora que el contrato NFT está desplegado, se recomienda configurar sus metadatos. Esto configurará el contrato inteligente para cobrar primas de desarrollador, recompensas y puede utilizarse para habilitar reembolsos de gas con una cuenta de agrupación.

Para establecer los metadatos del contrato, utilice el comando:

archway contracts metadata CONTRACT [--json] [--log-level debug|error|info|warn] [--owner-address <value>] [--rewards-address <value>][--keyring-backend file|os|test] [--keyring-path <value>] [-f <value>] [--fee <value>] [--no-confirm] [--gas-adjustment <value>]

Un ejemplo básico sería:

archway contracts metadata basic-nft --owner-address "archway12qj4v8jg5pxk6gsqct09sf9szhwql69xmf9fh4"  --rewards-address="archway12qj4v8jg5pxk6gsqct09sf9szhwql69xmf9fh4"

Argumentos:

CONTRACT (required) Name of the contract

Colocar contratos premiuns

Para establecer un contrato premiun, el contrato debe tener ya configurados los metadatos de recompensa. Utilice el siguiente comando para establecer la prima:

archway contracts premium CONTRACT --premium-fee <value> [--json] [--log-level debug|error|info|warn] [--keyring-backend file|os|test] [--keyring-path <value>] [-f <value>] [--fee <value>] [--no-confirm] [--gas-adjustment <value>]

Un ejemplo básico sería:

archway contracts premium increment2 --premium-fee "1000000000000000000aconst" --from "mywallet" 

Argumentos:

CONTRACT (required) Name of the contract

Last updated