No Minicurso Ethers.js você aprenderá os conceitos básicos de uma das libs mais utilizadas em aplicações web3.
Tudo com na prática, no final do curso você desenvolverá um Dapp FullStack com Solidity, Hardhat.js, Ethers.js e React.
Acesso ao minicurso no YouTube
- Introdução ao Ethers.js
- Provider e Signer no Ethers.js
- API Provider a Ethers.js
- Criando Wallet | Ethers.js
- Transação(Transferência) | Ethers.js
- Utils no Ethers.js | Ethers.js
- #01 Dapp Crypto Donation - O que você vai aprender | Ethers.js
- #02 Dapp Crypto Donation - Configurando Hardhatjs | Ethers.js
- #03 Dapp Crypto Donation - Criando contrato com Solidity | Ethers.js
- #04 Dapp Crypto Donation - Teste Unitário do Smart Contract | Ethers.js
São livros que vou está listando para acrescentar no aprendizado.
O Ethers.js pretender uma biblioteca compact para interação com o Blockchain Ethereum e seu ecossistema.
- Matem sua chave privada segura mesmo no seu client
- Importar e exportar carteiras
- Connect se em node do Ethereum por JSON-RPC, INFURA, Etherscan, Alchemy, Cloudflare ou Metamask
- Utilização de ENS(Ethereum name service) names
- Biblioteca muito pequena (~88kb comprimido; 284kb não comprimido)
- Completamente funcional para tod que você precisa no Ethereum
- Totalmente pronta para TypeScript e com uma larga coleção de teste cases
- MIT License
Um providor é uma classe o qual prover uma abstração para uma conexão com Ethereum Network. Os provedores fornece acesso apenas de leitura para o Blockchain e seus status.
new ethers.providers.[configure_o_provedor_a_conectar]
Um Signatário é uma classe que geralmente de alguma forma direta ou indireta tem acesso a uma chave privada, que pode assinar mensagens e transações para autorizar a rede a cobrar de sua conta ether para realizar operações.
const provider = new ethers.providers.Web3Provider(window.ethereum);
// como o signer você está habilitado a assinar e enviar transações
const signer = provider.getSigner();
Um contrato é uma abstração que representa uma conexão com um contrato específico na rede Ethereum, para que os aplicativos possam usá-lo como um objeto Javascript
new ethers.Contract(tokenAddress, tokenAbi, provider);
Usar o metamask é a maneira mais rápido para experimentar e começar a desenvolver no Ethereum.
Metamask é uma extensão do navegador
Caso seja exibido algum ao importar o contrato do @openzeppelin
, verifique se configuração do plugin
solidity
está como no exemplo abaixo.
"solidity.packageDefaultDependenciesContractsDirectory": ""
"solidity.packageDefaultDependenciesDirectory": "node_modules"