+
Skip to content

onyb/littlebit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LittleBit

Build Status codecov python rust

LittleBit is an educational library of Bitcoin primitives, with implementations in Python and Rust.

Objectives:
  • Help the reader understand how Bitcoin really works at a fundamental level.
  • Focus on readability in the Python implementation; on correctness, and performance in the Rust implementation.
  • Zero (ish) dependency on third-party packages.

DISCLAIMER: This software comes sans warranty. Do NOT use this code for anything other than educational purposes. I beg you.

Progress report

Legend: 🍏 Done   🍋 In Progress   🍅 TODO   🐍 Python   🦀 Rust

Internal links to code inside the repository are indicated like this. External links look like this.

Component Status
Elliptic Curve Cryptography (ECC)
Finite Field 🐍 ➞ 🍏
🦀 ➞ 🍏
Elliptic Curve 🐍 ➞ 🍏
🦀 ➞ 🍅
secp256k1 🐍 ➞ 🍏
🦀 ➞ 🍅
Signatures 🐍 ➞ 🍏
🦀 ➞ 🍅
Serialization
SEC Format 🐍 ➞ 🍏
🦀 ➞ 🍅
DER Format 🐍 ➞ 🍏
🦀 ➞ 🍅
Base58 🐍 ➞ 🍏
🦀 ➞ 🍅
Bitcoin Address Format 🐍 ➞ 🍏
🦀 ➞ 🍅
Wallet Import Format (WIF) 🐍 ➞ 🍏
🦀 ➞ 🍅
Transactions

Note: This table is not complete.

Contributing

This is an educational project. You can help out by:

  • 🔬 Auditing the codebase, asking questions, reporting bugs (please create issues).
  • 💯 Improving coverage of unit tests.
  • λ   Adding (clever) type annotations, especially with the Rust part.
  • 💬 Adding code comments and explanations.

About

A Bitcoin library from scratch; in Python and Rust. 📦⛓️

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载