Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 1 day 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 (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-07T03:50:01.000Z (over 1 year ago)
- Last Synced: 2024-10-30T00:44:06.106Z (14 days ago)
- Topics: bitcoin, blockchain, blockchain-demos, blockchain-technology
- Language: TypeScript
- Homepage: https://lsantos.dev
- Size: 481 KB
- Stars: 53
- Watchers: 3
- Forks: 18
- 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