https://github.com/khaosdoctor/typescript-blockchain
Simple blockchain implementation in TypeScript
https://github.com/khaosdoctor/typescript-blockchain
bitcoin blockchain blockchain-demos blockchain-technology
Last synced: about 1 month ago
JSON representation
Simple blockchain implementation in TypeScript
- Host: GitHub
- URL: https://github.com/khaosdoctor/typescript-blockchain
- Owner: khaosdoctor
- License: gpl-3.0
- Created: 2022-01-23T14:14:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-07T03:50:01.000Z (over 2 years ago)
- Last Synced: 2025-04-12T09:33:15.539Z (about 2 months ago)
- Topics: bitcoin, blockchain, blockchain-demos, blockchain-technology
- Language: TypeScript
- Homepage: https://lsantos.dev
- Size: 481 KB
- Stars: 61
- Watchers: 2
- Forks: 19
- Open Issues: 4
-
Metadata Files:
- Readme: README-pt.md
- License: LICENSE
Awesome Lists containing this project
README
# Blockchain TypeScript
> 🇧🇷 Uma implementação simples de blockchain em TypeScript.
## Descrição
Esta é uma implementação simples de blockchain no TypeScript. Os objetivos são puramente educacionais.
Esta é __não__ uma implementação de blockchain com todos os recursos. Pretende-se apenas mostrar como usar os conceitos básicos de blockchain.
Por enquanto, não é distribuída. No entanto, há planos para torná-la ainda mais robusta e distribuída usando comunicação em rede.
Características atuais:
- Executa em um único nó
- Pode ser usado para criar uma nova blockchain
- Pode ser usado para adicionar novos blocos a uma blockchain existente
- Pode ser usado para verificar a validade de um bloco
- Os blocos suportam quaisquer dados em seus `payloads`Características futuras:
- Salvar e ler a blockchain em um arquivo
- Adicionar suporte a transações
- Adicionar suporte a ramificações
- Adicionar suporte a tokens
- Rede distribuída
- Consenso distribuído
- Transações distribuídas
- Mineração distribuída## Instalação
```bash
npm i
```## Uso
É preciso dois parâmetro opcionais que são:
- a dificuldade do processo de mineração. O padrão é `4`.
- o número de blocos a minerar. O padrão é `10`.```bash
npm start [dificuldade = 4] [númeroDeBlocos = 10]
```## Tarefas de um futuro próximo
- [ ] Rede distribuída
- [ ] Refatorar para tornar os blocos uma classe em vez de uma interface para que possa ter métodos internos para calcular hashes e nonces
- [ ] Adicionar um pequeno frontend para visualizar a blockchain como um gráfico