web3-testing
Faz seu agente testar códigos de contratos inteligentes de forma completa. Ele usa ferramentas avançadas para garantir que tudo funcione bem.
O que ela faz
Esta habilidade ajuda a testar contratos inteligentes de criptomoedas. Ela usa ferramentas como Hardhat e Foundry para garantir que o código funcione corretamente e de forma segura.
Quando usar
- ✓Quando você está escrevendo o código de um contrato inteligente.
- ✓Para verificar se o contrato se comporta como esperado em diferentes situações.
- ✓Para encontrar e corrigir erros antes de lançar o contrato.
Exemplo do que pedir para a IA
“Como posso testar meu contrato de token para garantir que as transferências funcionem corretamente?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A habilidade usa ambientes de teste como Hardhat e Foundry para simular o funcionamento do seu contrato. Ela executa testes pré-definidos e verifica se os resultados são os esperados, reportando quaisquer problemas.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill web3-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/web3-testing/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Disponibilidade de Material de Apoio
Esta cópia do catálogo contém as orientações embutidas abaixo, mas não inclui os seguintes caminhos de suporte. São pré-requisitos externos, não arquivos agrupados:
<support-root>/references/hardhat-setup.md<support-root>/references/foundry-setup.md<support-root>/references/test-patterns.md<support-root>/references/mainnet-forking.md<support-root>/references/contract-verification.md<support-root>/assets/hardhat-config.js<support-root>/assets/test-suite.js<support-root>/assets/foundry.toml<support-root>/scripts/test-contract.sh
Solicite o material de apoio original ou uma instalação existente antes de usar uma etapa que dependa desses caminhos; este catálogo não identifica uma fonte de download verificada para eles. Resolva cada caminho em relação a essa instalação, inspecione seu conteúdo e verifique quaisquer licenças e pré-requisitos de execução aplicáveis. Não execute um comando ou afirme que um procedimento referenciado foi seguido até que seu arquivo necessário exista. Não fabrique os scripts ausentes nem trate um arquivo não relacionado com o mesmo nome como equivalente. Etapas independentes totalmente documentadas aqui podem prosseguir dentro do escopo autorizado do usuário; relate qualquer etapa dependente como indisponível.
Teste de Contratos Inteligentes Web3
Domine estratégias abrangentes de teste para contratos inteligentes usando Hardhat, Foundry e padrões avançados de teste.
Não use esta habilidade quando
- A tarefa não estiver relacionada a testes de contratos inteligentes web3
- Você precisar de um domínio ou ferramenta diferente fora deste escopo
Instruções
- Clarifique objetivos, restrições e entradas necessárias.
- Aplique as melhores práticas relevantes e valide os resultados.
- Forneça etapas acionáveis e verificação.
Use esta habilidade quando
- Escrevendo testes unitários para contratos inteligentes
- Configurando suítes de testes de integração
- Realizando testes de otimização de gas
- Fuzzing para casos extremos
- Forkando a mainnet para testes realistas
- Automatizando relatórios de cobertura de testes
- Verificando contratos no Etherscan
Configuração de Teste com Hardhat
// hardhat.config.js
require("@nomicfoundation/hardhat-toolbox");
require("@nomiclabs/hardhat-etherscan");
require("hardhat-gas-reporter");
require("solidity-coverage");
module.exports = {
solidity: {
version: "0.8.19",
settings: {
optimizer: {
enabled: true,
runs: 200,
},
},
},
networks: {
hardhat: {
forking: {
url: process.env.MAINNET_RPC_URL,
blockNumber: 15000000,
},
},
goerli: {
url: process.env.GOERLI_RPC_URL,
accounts: [process.env.PRIVATE_KEY],
},
},
gasReporter: {
enabled: true,
currency: "USD",
coinmarketcap: process.env.COINMARKETCAP_API_KEY,
},
etherscan: {
apiKey: process.env.ETHERSCAN_API_KEY,
},
};
Padrões de Teste Unitário
const { expect } = require("chai");
const { ethers } = require("hardhat");
const {
loadFixture,
time,
} = require("@nomicfoundation/hardhat-network-helpers");
describe("Token Contract", function () {
// Fixture para configuração de teste
async function deployTokenFixture() {
const [owner, addr1, addr2] = await ethers.getSigners();
const Token = await ethers.getContractFactory("Token");
const token = await Token.deploy();
return { token, owner, addr1, addr2 };
}
describe("Deployment", function () {
it("Should set the right owner", async function () {
const { token, owner } = await loadFixture(deployTokenFixture);
expect(await token.owner()).to.equal(owner.address);
});
it("Should assign total supply to owner", async function () {
const { token, owner } = await loadFixture(deployTokenFixture);
const ownerBalance = await token.balanceOf(owner.address);
expect(await token.totalSupply()).to.equal(ownerBalance);
});
});
describe("Transactions", function () {
it("Should transfer tokens between accounts", async function () {
const { token, owner, addr1 } = await loadFixture(deployTokenFixture);
await expect(token.transfer(addr1.address, 50)).to.changeTokenBalances(
token,
[owner, addr1],
[-50, 50],
);
});
it("Should fail if sender doesn't have enough tokens", async function () {
const { token, addr1 } = await loadFixture(deployTokenFixture);
const initialBalance = await token.balanceOf(addr1.address);
await expect(
token.connect(addr1).transfer(owner.address, 1),
…
Perguntas frequentes
O que são contratos inteligentes?
São programas que rodam em uma rede de blockchain e executam automaticamente ações quando certas condições são atendidas, como transferir criptomoedas.
O que é Hardhat e Foundry?
São ferramentas populares que ajudam desenvolvedores a criar, testar e gerenciar contratos inteligentes.
Por que testar contratos inteligentes é importante?
Contratos inteligentes lidam com valor e, uma vez implantados, são difíceis de alterar. Testes garantem que eles sejam seguros e funcionem como pretendido, evitando perdas financeiras.
Detalhes
Descrição original do autor
Master comprehensive testing strategies for smart contracts using Hardhat, Foundry, and advanced testing patterns.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4548
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC