Como vimos en la guía Mi primera dapp , el despliegue en Archway es un proceso de varios pasos.
Generar una compilación optimizada
Almacenar la construcción optimizada en cadena
Instanciar la colección NFT
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:
Copy 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:
Copy 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:
Copy CONTRACT (required) Name of the contract
Si utiliza el archwayd, puede lanzar:
Copy 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:
Copy archway contracts instantiate basic-nft --args '{ "name": "Test Collection", "symbol": "NFTEST", "minter": "archway1f395p0gg67mmfd5zcqvpnp9cxnu0hg6r9hfczq" }'
Si utiliza archwayd :
Copy 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:
Copy 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:
Copy archway contracts metadata basic-nft --owner-address "archway12qj4v8jg5pxk6gsqct09sf9szhwql69xmf9fh4" --rewards-address="archway12qj4v8jg5pxk6gsqct09sf9szhwql69xmf9fh4"
Argumentos :
Copy 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:
Copy 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:
Copy archway contracts premium increment2 --premium-fee "1000000000000000000aconst" --from "mywallet"
Argumentos:
Copy CONTRACT (required) Name of the contract
Last updated 11 months ago