Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jeftarmascarenhas/drex-temporary
https://github.com/jeftarmascarenhas/drex-temporary
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jeftarmascarenhas/drex-temporary
- Owner: jeftarmascarenhas
- Created: 2024-08-01T12:56:15.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-10-21T21:25:20.000Z (28 days ago)
- Last Synced: 2024-10-22T16:55:38.863Z (27 days ago)
- Language: Solidity
- Size: 107 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DREX Project Sample
Este é um projeto de exemplo que demonstra a integração com a plataforma DREX, utilizando o framework Hardhat para interagir com contratos inteligentes. Este projeto serve como ponto de partida para compreender a integração com a plataforma. É essencial ressaltar que a compreensão e utilização das interfaces fornecidas pelo Banco Central são de responsabilidade de cada instituição financeira.
## Dependências
### Dependências de Desenvolvimento
```bash
@nomicfoundation/hardhat-ignition-ethers: ^0.15.1
@nomicfoundation/hardhat-toolbox: ^5.0.0
hardhat: ^2.22.3
ts-node: ^10.9.2
typescript: ^5.4.5
```### Dependências de Produção
```bash
@nomicfoundation/hardhat-ignition: ^0.15.1
@nomicfoundation/ignition-core: ^0.15.1
@openzeppelin/contracts: ^5.0.2
dotenv: ^16.4.5
```## Scripts
No projeto, o Ignition desempenha um papel crucial ao simplificar e automatizar o processo de implantação de contratos inteligentes. Aqui estão algumas maneiras pelas quais o Ignition está auxiliando:
- Gerenciamento de Compilação: O Ignition automatiza a compilação dos contratos inteligentes, garantindo que estejam prontos para implantação em diferentes redes EVM based.
- Preparação de Transações: Ele cuida da preparação das transações de implantação, o que inclui a definição de parâmetros necessários e a geração de transações assinadas prontas para serem enviadas para a rede.
- Implantação Simples: Com um único comando, podemos implantar facilmente os contratos em várias redes Ethereum. O Ignition lida com os detalhes técnicos e burocráticos, simplificando o processo para os desenvolvedores..
- Eficiência no Desenvolvimento: Ao automatizar tarefas repetitivas e complexas relacionadas à implantação de contratos, o Ignition permite que os desenvolvedores se concentrem mais no desenvolvimento de funcionalidades e menos na configuração de implantação.Realiza o deploy do contrato utilizando o Hardhat.
```bash
npm run node ignition:hardhat
```Exemplo:
```bash
npm run node ignition:besu SwapTwoStepsModule
```## Visualizar hierarquia de dependencia dos contratos
O Hardhat Ignition vem com uma funcionalidade integrada para visualizar o processo de implantação de um módulo no projeto Drex Project Sample. Esta ferramenta é útil para depuração e verificação da execução do plano de implantação do módulo.
Para visualizar um módulo no contexto do Drex Project Sample, você pode usar o comando npm run hierarchy. Isso gera um relatório HTML detalhado que ilustra visualmente o processo de implantação.
### O relatório inclui:
- Um resumo dos contratos que serão implantados.
- Uma visão geral das chamadas de contrato que serão feitas.
- Um gráfico de dependências que mostra os módulos e objetos Future envolvidos no processo.
- Por padrão, o comando npm run hierarchy usará o módulo que possui o maior número de dependências como ponto de partida. Se desejar visualizar um módulo específico, você pode fornecer o caminho para esse módulo como argumento.Por exemplo:
```bash
npx hardhat ignition visualize ./ignition/modules/SeuModulo.ts
```Isso abrirá o relatório gerado no navegador padrão do seu sistema.
Para mais informações sobre como visualizar seu módulo no contexto do projeto Drex Project Sample, consulte a documentação oficial do Hardhat Ignition.
## Módulos do Ignition
Os seguintes módulos de Ignition estão disponíveis:
```bash
./ignition/modules/AddressDiscoveryModule.ts
./ignition/modules/RealDigitalDefaultAccountModule.ts
./ignition/modules/RealDigitalDefaultEnableModule.ts
./ignition/modules/RealDigitalModule.ts
./ignition/modules/SwapOneStepModule.ts
./ignition/modules/SwapTwoStepsModule.ts
```## Comandos para testes do TPFT Operation 1002
Deploy e transações necessárias
```javascript
npx hardhat ignition deploy ./ignition/modules/DrexModule.ts --network localhost --deployment-id DrexLocalID1 --reset
```Executar script
```javascript
npx hardhat run ./scripts/tpftOperation1002.ts --network localhost
```