HelloWorld (não é ERC-20).
A rede está no fork Berlin. Compile com evmVersion: "berlin" para evitar opcodes de forks posteriores (por exemplo PUSH0 do Shanghai), que causam Invalid opcode: 0x5f na execução.
Pré-requisitos
- Node.js 20+
- Carteira deployer com saldo nativo ETH na testnet
- RPC:
https://rpc-develop.pgubright.com - Chain ID:
20260520
Contrato de exemplo
contracts/HelloWorld.sol.
Configuração do projeto
1
Instalar dependências
2
Variáveis de ambiente
Crie
.env a partir do exemplo abaixo. Não commite .env com chave real.3
hardhat.config.ts
Defina rede, chain ID,
evmVersion: "berlin" e conta deployer.Script de deploy
Criescripts/deploy-hello-world.ts:
Validar o deploy
1
Explorer
Abra o endereço do contrato em explorer-develop.pgubright.com e confira bytecode e transações de criação.
2
eth_getCode
0x indica código implantado.3
Chamada read-only
Erros comuns
Próximos passos
Deploy book-only (Energy Market)
Após merge deblockchain-contracts #8, redeploy de EnergyMarket e EnergySettlement na Besu develop:
deployments/besu.json com os novos endereços.
Actualizar infra (obrigatório)
- Editar
blockchain-infra-common/k8s/charts/blockchain/backend/values/values-develop.yaml:ENERGY_MARKET_ADDRESSENERGY_SETTLEMENT_ADDRESS
- Commit + push na infra-common
- Sync ArgoCD do stack blockchain develop
- Confirmar
transactions-serviceeindexer-servicecom os novos endereços
Contratos de ativos
Contratos implantados na BrightCity Chain
Consultar no explorer
Blocos, transações e contratos
Diferenças vs Ethereum
Fork Berlin e limitações EVM
Boas práticas
RPC, indexação e chaves
