2
respostas

Erro ao criar MeuPrimeiroToken

Bom dia. estou utilizando ubuntu.exe, pelo prompt do Windows. Criei o código, conforme a orientação do professor Vini:

pragma solidity ^0.8.0;

contract MeuToken {
    string public name = "MyToken";
    string public symbol = "MTK";

    mapping(address => uint256) public balanceOf;
    event Transfer(address indexed from, address indexed to, uint256 value);

    constructor(uint256 initialSupply) {
        balanceOf[msg.sender] = initialSupply;
    }

    function transfer(address _to, uint256 _value) public returns (bool success) {
        require(balanceOf[msg.sender] >= _value, "Insufficient balance");

        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
        emit Transfer(msg.sender, _to, _value);
        return true;
    }
}

Ao executar o comando: forge create --rpc-url https://polygon-amoy.infura.io/v3/123456789 src/MeuPrimeiroToken.sol:MeuToken --constructor-args 10000000

é me retornado um erro 401.

[⠊] Compiling...
No files changed, compilation skipped
Error: HTTP error 401 with body: invalid project id

Entrei em alguns foruns para tentar encontrar o erro, porém, não consegui.

Executei o curl nessa url e foi me retornado:

invalid project id

Agradeço se alguém puder me ajudar com esse erro.

até.

2 respostas

Olá Ranieri, bom dia!

Esse erro 401 com a mensagem “invalid project id” indica que o problema está no seu endpoint do Infura.

O que pode estar acontecendo: • O Project ID usado na URL do RPC está incorreto, inválido ou não existe. • Você pode ter copiado errado o ID do seu projeto Infura, ou ele expirou/foi deletado. • Pode ter um erro de digitação na URL (polygon-amoy parece estranho; geralmente é polygon-mainnet ou algo semelhante).

Como resolver: 1. Entre na sua conta no Infura. 2. Verifique o seu projeto e copie corretamente o Project ID. 3. Atualize a URL do RPC para algo assim, por exemplo: https://polygon-mainnet.infura.io/v3/SEU_PROJECT_ID_CORRETO

4.	Teste o comando novamente com essa URL correta.

Abraço.

Vitória, bom dia. Muito obrigado pelo retorno.

Você tem razão, o token tinha expirado. Consegui pegar o novo utilizando o MetaMask Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No entanto, continua retornando erro:

[⠊] Compiling...
No files changed, compilation skipped
Error: server returned an error response: error code -32000: Unauthorized: You must authenticate your request with an API key. Create an account on https://www.ankr.com/rpc/ and generate your personal API key for free.

Acessei a url https://www.ankr.com/rpc/ e tentei gerar o link por lá, mas daí retornou outra mensagem de erro

[⠊] Compiling...
No files changed, compilation skipped
Error: Error accessing local wallet. Did you set a private key, mnemonic or keystore?
Run `cast send --help` or `forge create --help` and use the corresponding CLI
flag to set your key via:
--private-key, --mnemonic-path, --aws, --gcp, --interactive, --trezor or --ledger.
Alternatively, if you're using a local node with unlocked accounts,
use the --unlocked flag and either set the `ETH_FROM` environment variable to the address
of the unlocked account you want to use, or provide the --from flag with the address directly.