Bom dia Darlan.
Essa esta dificil de resolver...
Acredito que seu problema esta relacionado a falta do arquivo foundry.toml.
Vamos corrigir e ver se da certo.
Abaixo vai um passo a passo 100% funcional, testado para deploy na Polygon Amoy Testnet, usando Foundry (forge).
Siga exatamente na ordem:
PASSO 1 — Atualizar o Foundry ou se preciso instale .
Abra o terminal e rode:
foundryup
Isso garante que o forge esteja na versão mais recente.
Verifique:
forge --version
PASSO 2 — Verificar variáveis e shell
Teste se suas variáveis existem:
echo $API_KEY
echo $PRIVATE_KEY
Se não aparecer nada, defina-as:
export API_KEY=SUA_CHAVE_DA_ANKR
export PRIVATE_KEY=0xSUA_CHAVE_PRIVADA
Importante: se você estiver usando Windows (PowerShell), as variáveis devem ser definidas assim:
$env:API_KEY = "SUA_CHAVE_DA_ANKR"
$env:PRIVATE_KEY = "0xSUA_CHAVE_PRIVADA"
PASSO 3 — Testar RPC
Verifique se o RPC está acessível:
curl -X POST https://rpc.ankr.com/polygon_amoy/$API_KEY \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
Se a resposta for algo como:
{"jsonrpc":"2.0","id":1,"result":"0x13882"}
está OK.
Se der erro (timeout, “forbidden”, etc.), use o RPC oficial da Polygon:
https://rpc-amoy.polygon.technology
PASSO 4 — Verificar saldo da conta
Rode:
cast balance 0xSUA_CARTEIRA --rpc-url https://rpc-amoy.polygon.technology
Deve retornar um saldo positivo (ex: 0.098 POL).
Sem saldo, o deploy nunca é transmitido.
PASSO 5 — Fazer o deploy real (com debug)
Execute este comando exatamente assim:
forge create \
--rpc-url https://rpc-amoy.polygon.technology \
--private-key $PRIVATE_KEY \
src/MeuPrimeiroToken.sol:MyToken \
--constructor-args 10000000 \
--broadcast \
--legacy \
-vvvv
Explicando os pontos críticos:
--legacy: obrigatório na Polygon, pois ainda usa transações legadas.-vvvv: mostra logs detalhados (útil se falhar).--broadcast: envia a transação real.- Sem “Dry run” se o RPC e a chave estiverem certos.
PASSO 6 — Caso ainda mostre “Dry run”
Então rode com os valores explícitos (sem variáveis):
forge create \
--rpc-url https://rpc-amoy.polygon.technology \
--private-key 0xSUA_CHAVE_PRIVADA_AQUI \
src/MeuPrimeiroToken.sol:MyToken \
--constructor-args 10000000 \
--broadcast \
--legacy \
-vvvv
Se funcionar assim, o problema estava na leitura das variáveis ($PRIVATE_KEY, $API_KEY).
RESULTADO ESPERADO
Se tudo der certo, você verá algo como:
Deployed to: 0x1234abcd...
Transaction hash: 0x5678efgh...
Resumo
| Etapa | O que fazer | Objetivo |
|---|
| 1 | foundryup | Atualizar forge |
| 2 | export PRIVATE_KEY e API_KEY | Garantir variáveis válidas |
| 3 | Testar RPC com curl | Confirmar conexão |
| 4 | cast balance | Checar saldo |
| 5 | Deploy com --legacy --broadcast -vvvv | Enviar transação real |
| 6 | Usar chaves diretas se ainda for “Dry run” | Isolar variáveis |
Testa ai e me envie um feedback.
Caso persista o erro sugiro que comece do zero e vai testando cada etapa.
Voce pode usar o chatgpt ou deepseek para te orientar enviando seu código por partes para ele e pedindo instruções.
Mas precisa dividir o problema em partes menores para que consiga que ele te ajude.
Segue as instruçoes, verifica os erros e com calma tudo se ajeita.
Bons estudos e avise ai.