You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
go.mod
main.go — CLI + node loop
blockchain.go — block, chain, PoW miner
wallet.go — keypair, address, sign/verify
tx.go — transaction, UTXO set
storage.go — simple file-based persistence (optional, small)
util.go — helpers (hashing, encoding)
-----------------------------------------------------------
Single-process, no P2P networking.
UTXO scanning is O(n) over chain (OK for toy chain).
Sign/verify is naive: using whole tx ID; robust implementations use transaction serialization without signatures and proper hashing.
Addresses are SHA256(pub) truncated — no Base58/Bech32.
PoW difficulty is tiny ("000" prefix) so mining is quick.
No transaction fees, limited checks against double-spend in mempool.
-------------------------------------------------------------
How to run:
.
go mod tidy
go run .
Use CLI commands: newwallet, address, send , mine, balance , chain.
--------------------------------------------------------------------------
Ключевые упрощения и замечания:
Нет сети — одна нода локально.
Сканирование UTXO по всей цепочке — O(n), что нормально для учебного проекта.
Подписание/проверка реализованы упрощённо (подпись всего tx.ID) — для реальной безопасности требуется корректная схема.
Адрес — первые 20 байт SHA256(pub), без Base58/Bech32.
Простая PoW‑сложность ("000" префикс).
Нет комиссий, минимальная проверка на двойную трату.
Как запустить:
.
go mod tidy
go run .
В CLI: newwallet, address, send , mine, balance , chain.
-------------------------------------------------------------------
Ключевые упрощения и замечания:
Нет сети — одна нода локально.
Сканирование UTXO по всей цепочке — O(n), что нормально для учебного проекта.
Подписание/проверка реализованы упрощённо (подпись всего tx.ID) — для реальной безопасности требуется корректная схема.
Адрес — первые 20 байт SHA256(pub), без Base58/Bech32.
Простая PoW‑сложность ("000" префикс).
Нет комиссий, минимальная проверка на двойную трату.
Как запустить:
Создайте файлы с кодом (или объедините всё в один main.go).
go mod tidy
go run .
В CLI: newwallet, address, send , mine, balance , chain.