E ai Darlan.
Beleza?
Vamos tentar achar uma soluçao para este problema:
Pelo que você descreveu, mesmo utilizando o parâmetro --broadcast
, o comando forge create
ainda está executando em modo "dry run", ou seja, ele simula a transação mas não a envia de fato para a blockchain.
Vamos revisar o que pode estar acontecendo e como resolver:
Aqui está a forma correta de rodar o comando forge create
com deploy real (ou seja, broadcasting):
forge create \
--rpc-url https://rpc.ankr.com/polygon_amoy/YOUR_API_KEY \
--private-key YOUR_PRIVATE_KEY \
src/MeuPrimeiroToken.sol:MyToken \
--constructor-args 10000000 \
--broadcast \
--legacy
Possíveis causas:
Omitindo o --legacy
:
* A rede Polygon (incluindo a testnet Amoy) ainda não suporta EIP-1559 completamente, e o Foundry usa esse tipo de transação por padrão.
Solução:
- Adicione
--legacy
ao seu comando para enviar transações legadas (tipo 0), compatíveis com a Polygon.
Variáveis de ambiente não estão sendo resolvidas: - Certifique-se de que você está substituindo corretamente:
$API_KEY
→ sua chave da Ankr (sem o símbolo $
)$PRIVATE_KEY
→ sua chave privada (sem o símbolo $
)
Se você quiser usar variáveis de ambiente, defina-as antes com:
export API_KEY=suachavedaankr
export PRIVATE_KEY=suachaveprivada
E use no comando:
forge create \
--rpc-url https://rpc.ankr.com/polygon_amoy/$API_KEY \
--private-key $PRIVATE_KEY \
...
Configuração do Foundry (foundry.toml
):
- Se o seu projeto tiver um
foundry.toml
, ele pode estar sobrescrevendo alguma configuração. - Certifique-se de que não há nenhuma configuração
simulate = true
ou algo semelhante.
Exemplo funcional (substitua seus dados reais):
forge create \
--rpc-url https://rpc.ankr.com/polygon_amoy/YOUR_API_KEY \
--private-key 0xyoursecretprivatekey \
src/MeuPrimeiroToken.sol:MyToken \
--constructor-args 10000000 \
--broadcast \
--legacy
Teste com --verify
(opcional):
- Você pode verificar também o contrato no Polygonscan (se suportado), usando a flag
--verify
, mas precisa configurar a API Key do Polygonscan em .env
.
Analisa ai e me envie um feedback.
Bons estudos.