Pular para o conteúdo
Skillpedia
APIs e servidores (backend)48 mil · #2747

defi-protocol-templates

Permite ao agente criar aplicações financeiras descentralizadas. Usa modelos prontos para sistemas de staking, câmbio e empréstimos.

O que ela faz

Esta ferramenta ajuda a criar modelos prontos para usar em finanças descentralizadas (DeFi). Ela oferece estruturas para sistemas como staking, troca de moedas (AMMs), votação (governance) e empréstimos.

Quando usar

  • ✓Ao construir plataformas de staking com distribuição de recompensas.
  • ✓Ao implementar sistemas de troca automática de moedas (AMMs).
  • ✓Ao criar sistemas de tokens para votação em projetos.

Exemplo do que pedir para a IA

“Crie um modelo para um sistema de staking com recompensas.”

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/defi-protocol-templates/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/defi-protocol-templates/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta fornece códigos pré-escritos (templates) que você pode usar como base. Esses códigos já seguem boas práticas para diferentes tipos de protocolos DeFi.

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 defi-protocol-templates

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/defi-protocol-templates/SKILL.md -o SKILL.md
Conteú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 suporte

Este texto do catálogo contém as orientações embutidas abaixo, mas não inclui os seguintes caminhos de suporte. Eles são pré-requisitos externos, não arquivos incluídos:

  • <support-root>/references/staking.md
  • <support-root>/references/liquidity-pools.md
  • <support-root>/references/governance-tokens.md
  • <support-root>/references/lending-protocols.md
  • <support-root>/references/flash-loans.md
  • <support-root>/assets/staking-contract.sol
  • <support-root>/assets/amm-contract.sol
  • <support-root>/assets/governance-token.sol
  • <support-root>/assets/lending-protocol.sol

Solicite o material de suporte 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 aplicáveis e pré-requisitos de execução. Não execute um comando nem 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.

Modelos de Protocolo DeFi

Modelos prontos para produção para protocolos DeFi comuns, incluindo staking, AMMs, governança, empréstimos e flash loans.

Não use esta habilidade quando

  • A tarefa não está relacionada a modelos de protocolo defi
  • Você precisa 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

  • Construindo plataformas de staking com distribuição de recompensas
  • Implementando protocolos AMM (Automated Market Maker)
  • Criando sistemas de token de governança
  • Desenvolvendo protocolos de empréstimo/tomada de empréstimo
  • Integrando funcionalidade de flash loan
  • Lançando plataformas de yield farming

Contrato de Staking

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract StakingRewards is ReentrancyGuard, Ownable {
    IERC20 public stakingToken;
    IERC20 public rewardsToken;

    uint256 public rewardRate = 100; // Recompensas por segundo
    uint256 public lastUpdateTime;
    uint256 public rewardPerTokenStored;

    mapping(address => uint256) public userRewardPerTokenPaid;
    mapping(address => uint256) public rewards;
    mapping(address => uint256) public balances;

    uint256 private _totalSupply;

    event Staked(address indexed user, uint256 amount);
    event Withdrawn(address indexed user, uint256 amount);
    event RewardPaid(address indexed user, uint256 reward);

    constructor(address _stakingToken, address _rewardsToken) {
        stakingToken = IERC20(_stakingToken);
        rewardsToken = IERC20(_rewardsToken);
    }

    modifier updateReward(address account) {
        rewardPerTokenStored = rewardPerToken();
        lastUpdateTime = block.timestamp;

        if (account != address(0)) {
            rewards[account] = earned(account);
            userRewardPerTokenPaid[account] = rewardPerTokenStored;
        }
        _;
    }

    function rewardPerToken() public view returns (uint256) {
        if (_totalSupply == 0) {
            return rewardPerTokenStored;
        }
        return rewardPerTokenStored +
            ((block.timestamp - lastUpdateTime) * rewardRate * 1e18) / _totalSupply;
    }

    function earned(address account) public view returns (uint256) {
        return (balances[account] *
            (rewardPerToken() - userRewardPerTokenPaid[account])) / 1e18 +
            rewards[account];
    }

    function stake(uint256 amount) external nonReentrant updateReward(msg.sender) {
        require(amount > 0, "Cannot stake 0");
        _totalSupply += amount;
        balances[msg.sender] += amount;
        stakingToken.transferFrom(msg.sender, address(this), amount);
        emit Staked(msg.sender, amount);
    }

    function withdraw(uint256 amount) public nonReentrant updateReward(msg.sender) {
        require(amount > 0, "Cannot withdraw 0");
        _totalSupply -= amount;
        balances[msg.sender] -= amount;
        stakingToken.transfer(msg.sender, amount);
        emit Withdrawn(msg.sender, amount);
    }


…
Perguntas frequentes

O que são finanças descentralizadas (DeFi)?

DeFi é um termo para serviços financeiros construídos em tecnologia blockchain, como empréstimos, trocas e investimentos, sem a necessidade de intermediários tradicionais como bancos.

O que é staking?

Staking é o ato de travar suas criptomoedas para ajudar a operar uma rede blockchain e, em troca, receber recompensas.

O que é um AMM?

AMM significa Automated Market Maker (Criador de Mercado Automatizado). É um tipo de protocolo que permite a troca de criptoativos sem a necessidade de um comprador ou vendedor tradicional, usando um pool de liquidez.

Detalhes

Descrição original do autor

Implement DeFi protocols with production-ready templates for staking, AMMs, governance, and lending systems. Use when building decentralized finance applications or smart contract protocols.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2747
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas