Despliegue y prueba del contrato de Stablecoin
Puede desplegar el contrato mediante la CLI o mediante la extensión de código de Microsoft Visual Studio para Blockchain App Builder.
Desplegar desde Visual Studio Code
Para desplegar el contrato mediante la extensión de Visual Studio Code para Blockchain App Builder, realice los siguientes pasos.
- Extraiga el archivo de almacenamiento
Stablecoin.zip. - Importe el contrato
Stablecoina la extensión Blockchain App Builder en Visual Studio Code. - Seleccione el proyecto importado y, a continuación, seleccione el separador Desplegar.
Para obtener más información, consulte Uso de la extensión de Blockchain App Builder para Visual Studio Code.
Despliegue desde la línea de comandos
Para desplegar el contrato desde la línea de comandos, complete los pasos siguientes.
- Extraiga el archivo de almacenamiento
Stablecoin.zip. - Ejecute el siguiente comando para instalar dependencias.
npm install - Ejecute los siguientes comandos para compilar el contrato.
npx hardhat clean npx hardhat compile - Configure las siguientes variables de red.
El siguiente texto muestra un ejemplo de configuración de variables.npx hardhat vars set BESU_CHAIN_ID <chain-id> npx hardhat vars set BESU_RPC_URL <rpc-url> npx hardhat vars set BESU_RPX_PROXY_AUTH_TOKEN "Bearer {auth-token}" npx hardhat vars set WALLET_SERVICE_BASE_URL <wallet-svc-url> npx hardhat vars set WALLET_SERVICE_ENABLED true npx hardhat vars set WALLET_SERVICE_ACCOUNTS <wallet-svc-accounts> npx hardhat vars set WALLET_SERVICE_AUTH_TOKEN "Bearer {auth-token}"npx hardhat vars set BESU_CHAIN_ID 1500 npx hardhat vars set BESU_RPC_URL https://rpcproxy.example.com/v1/besu/proxy npx hardhat vars set BESU_RPX_PROXY_AUTH_TOKEN "Bearer ej1q..." npx hardhat vars set WALLET_SERVICE_BASE_URL https://rpcproxy.example.com/v1/besu/transaction npx hardhat vars set WALLET_SERVICE_ENABLED true npx hardhat vars set WALLET_SERVICE_ACCOUNTS '[{"address":"0xFf93749DEFa27077d055581642E077E94426A89C","walletId":"031cab07-ca25-422f-84a0-4a78d89982cc"}]' npx hardhat vars set WALLET_SERVICE_AUTH_TOKEN "Bearer ej1q..." - Despliegue el contrato. Cada despliegue necesita las siguientes variables:
DEPLOYMENT_ID,GOVERNANCE_ADDRESSyGOVERNANCE_UUID.- Si falla un despliegue, vuelva a ejecutarlo con el mismo valor
DEPLOYMENT_IDpara reanudar. Una vez que el despliegue se realiza correctamente, se suprime la caché de reanudación. Si vuelve a ejecutar un despliegue correcto con el mismo valorDEPLOYMENT_ID, se trata como un nuevo despliegue. - El valor
GOVERNANCE_ADDRESSes la dirección de contrato de gobernanza desplegada previamente para la instancia. - Póngase en contacto con el rol
DA_ADMINpara obtener el valorGOVERNANCE_UUID.
.obp-da/.erc7201solo para el proxy de token. Ejecute los siguientes comandos para desplegar el contrato.
Las variablesDEPLOYMENT_ID=<deployment-id> \ GOVERNANCE_ADDRESS=<ida-contract-governance-address> \ GOVERNANCE_UUID=<customer-governance-uuid> \ TOKEN_NAME="Stablecoin" \ TOKEN_SYMBOL="STBL" \ TOKEN_DESCRIPTION="Stablecoin token proxy contract" \ ADMIN_USER_ID="platformadmin1" \ ADMIN_ORG_ID="org1" \ CONTRACT_METADATA_SMART_CONTRACT_ID="stablecoin" \ CONTRACT_METADATA_VERSION="1.0.0" \ CONTRACT_METADATA_DESCRIPTION="Stablecoin token proxy contract" \ CONTRACT_METADATA_AUTHOR="Oracle" \ CONTRACT_METADATA_TAGS='{"assetType":"stablecoin token"}' \ npx hardhat run scripts/deploy/stablecoin/deploy-stablecoin-erc-5982.ts --network obp-besuCONTRACT_METADATA_*se aplican al proxy de token que despliega el script. Las etiquetas deben ser un objeto JSON con valores de cadena.Este comando despliega el contrato en modo
INACTIVE. Después de enviar la intención de despliegue y de aprobar la intención según la política asociada al valorGOVERNANCE_UUID, el despliegue se marca comoACTIVEautomáticamente. - Si falla un despliegue, vuelva a ejecutarlo con el mismo valor
- Proponer una intención de despliegue para los proxies controlados. Para las actualizaciones, la aprobación de gobernanza está vinculada al proxy existente y a la nueva implementación exacta que se revisó. Después de las aprobaciones necesarias, el intermediario puede pasar a la versión aprobada manteniendo su dirección y estado de negocio acumulado. Una implementación diferente, una intención caducada o una propuesta rechazada requieren una nueva decisión de gobernanza.
Después de que el despliegue haya definido el contexto de gobernanza, envíe una intención por cada proxy controlado. Ejecute el siguiente comando para proponer la intención de despliegue.
GOVERNANCE_INTENT_MODE=obp-besu \ GOVERNANCE_ADDRESS=<governance-address> \ GOVERNANCE_UUID=<customer-uuid> \ DEPLOY_TARGETS_JSON='["<stablecoin-proxy>"]' \ DEPLOY_INTENT_MANIFEST=.obp-da/governance/deploy-intent.json \ npx hardhat run scripts/deploy/governance/propose-deploy-intent.ts --network obp-besuUse
GOVERNANCE_INTENT_MODE = json-rpcpara el envío directo de contratos. Si utilizaGOVERNANCE_INTENT_MODE = obp-besu, la propuesta se envía al punto final UWaaS mediante el proxy RPC.Una vez finalizado el depósito, puede utilizar la recopilación Postman proporcionada para llamar a los métodos de contrato mediante el proxy RPC.