shengxinjing
iblockchain
JavaScript

Learn blockchain by building one in node.js

Last updated Apr 25, 2026
136
Stars
48
Forks
0
Issues
0
Stars/day
Attention Score
54
Language breakdown
JavaScript 99.4%
HTML 0.6%
โ–ธ Files click to expand
README

iblockchain logo

Downloads Version License

ๅŠŸ่ƒฝ

  • ๅญฆไน ๅŒบๅ—้“พ็š„ๆผ”็คบdemo
  • ็ฎ€ๅ•็š„ๆŒ–็Ÿฟใ€ไบคๆ˜“ใ€P2P็ฝ‘็ปœ็š„ๅฎž็Žฐ
  • ไธ€็ณปๅˆ—demoๆผ”็คบๅ‘ฝไปค๏ผŒ่พ…ๅŠฉ็†่งฃblockchain

ๅฎ‰่ฃ…

npm install -g iblockchain

ไธŠๆ‰‹

ๆ‰ง่กŒiblockchain ๅŽ ่ฟ›ๅ…ฅdemo้กต้ข

Welcome to iblockchain !

Commands:

help [command...] Provides help for a given command. exit Exits application. mine ๅผ€ๅง‹ๆŒ–็Ÿฟ blockchain ๆŸฅ็œ‹ๆ•ดไธชๅŒบๅ—้“พ [bc] pending ๆŸฅ็œ‹่ฟ˜ๆฒกๆœ‰ๆ‰“ๅŒ…่ฟ›ๅŒบๅ—็š„ไบคๆ˜“ trans <to> <amount> ็ป™ไบบ่ฝฌ่ดฆ blance [address] ๆŸฅ็œ‹ๅœฐๅ€็š„ไฝ™้ข pub ๆœฌๅœฐๅ…ฌ้’ฅ(ๅ…ฌ้’ฅๅฐฑๆ˜ฏๅœฐๅ€) prv ๆœฌๅœฐ็ง้’ฅ detail <index> ๆŸฅ็œ‹็ฌฌnไธชๅŒบๅ—็š„่ฏฆๆƒ… peer ๆŸฅ็œ‹P2P็ฝ‘็ปœ่Š‚็‚น --------ๆˆ‘ๆ˜ฏๅˆ†ๅ‰ฒ็บฟ-------- hash <value> [ๆผ”็คบ] ่ฎก็ฎ—sha256ๅ“ˆๅธŒ minedemo <data> <difficulty> [ๆผ”็คบ] ๆŒ–็Ÿฟ่ฎก็ฎ—้€ป่พ‘ getpub <value> [ๆผ”็คบ] ๆ นๆฎ็ง้’ฅ่ฎก็ฎ—ๅ‡บๅ…ฌ้’ฅ(็ง้’ฅๅŠ ๅฏ† ๅ…ฌ้’ฅ่งฃๅฏ†๏ผŒๅ…ฌ้’ฅๅฏไปฅไปŽ็ง้’ฅ่ฎก็ฎ—ๅ‡บๆฅ) sign <value> <prv> [ๆผ”็คบ] ็”จ็ง้’ฅๅŠ ๅฏ†ไฟกๆฏ ๅพ—ๅˆฐ็ญพๅ verify <value> <pub> <sig> [ๆผ”็คบ] ไฝฟ็”จ็ญพๅ ๆ ก้ชŒไฟกๆฏ <ๆถˆๆฏ> <ๅ…ฌ้’ฅ> <็ญพๅ> valid [ๆผ”็คบ] ๅŒบๅ—้“พๆ˜ฏๅฆๅˆๆณ• update <index> [ๆผ”็คบ] ็ฏกๆ”น<index>ไธชblock็š„ๆ•ฐๆฎ,็ฌฌไธ€ไธช่ฝฌ่ดฆไฟกๆฏamount+1 mineblock <index> [ๆผ”็คบ] ๅฏน<index>ไธชไธŠ็š„ๅŒบๅ—ๆ•ฐๆฎ้‡ๆ–ฐๆŒ–็Ÿฟ,ไฝฟๅ…ถๅ˜ๆˆๅˆๆณ•็š„ๅฐๅ—ๅ—

iblockchain => [ไฟกๆฏ]: UDPๆœๅŠก็›‘ๅฌๅฎŒๆฏ•: 0.0.0.0:51881 [ไฟกๆฏ]: ๆ›ดๆ–ฐๆœฌๅœฐๅŒบๅ—้“พ iblockchain => // ็ปง็ปญ่พ“ๅ…ฅๅ‘ฝไปค ไฝ“้ชŒๅŠŸ่ƒฝ

ไฝ“้ชŒไธ€ไธ‹ไธ‹

ๆŸฅ็œ‹ๆ•ดไธชๅŒบๅ—้“พๆ•ฐๆฎ

iblockchain => blockchain

// output

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ index โ”‚ previousHash โ”‚ timestamp โ”‚ data โ”‚ hash โ”‚ nonce โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 0 โ”‚ "0" โ”‚ 1538669227813 โ”‚ "Welcome to iblocโ€ฆ โ”‚ "00000aa1fbf27775โ€ฆ โ”‚ 979911 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 1 โ”‚ "00000aa1fbf27775โ€ฆ โ”‚ 1538988895613 โ”‚ [ โ”‚ "0000050c2b1b65a0โ€ฆ โ”‚ 69438 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ { โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "from": "0", โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "to": "0414b351โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "amount": 100, โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "sig": "3046022โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "timestamp": 15โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ } โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ] โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 2 โ”‚ "0000050c2b1b65a0โ€ฆ โ”‚ 1538988929584 โ”‚ [ โ”‚ "000001ee70cd40e8โ€ฆ โ”‚ 766700 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ { โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "from": "0", โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "to": "0429b0e2โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "amount": 100, โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "sig": "3044022โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "timestamp": 15โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ } โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ] โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŒ–็Ÿฟ,ๆ–ฐๅขžๅŒบๅ— mine

iblockchain => mine

// output [ไฟกๆฏ]: ๆŒ–็Ÿฟ็ป“ๆŸ ็”จๆ—ถ4.30s , ็ฎ—ไบ†806180ๆฌก, ๅ“ˆๅธŒๅ€ผๆ˜ฏ00000c3633bd15a4b2c45bbc9373658694b55c078de4777bec28e10cea9e53fd๏ผŒๅ…ฅ่ดฆ100 ่ฏท็ฌ‘็บณ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ index โ”‚ previousHash โ”‚ timestamp โ”‚ nonce โ”‚ hash โ”‚ data โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 14 โ”‚ "00000b93ccf0c0b6โ€ฆ โ”‚ 1539017632369 โ”‚ 806180 โ”‚ "00000c3633bd15a4โ€ฆ โ”‚ [ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ { โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "from": "0", โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "to": "041ad79cโ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "amount": 100, โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "sig": "3045022โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ "timestamp": 15โ€ฆ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ } โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ] โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŸฅ็œ‹ๆœฌๅœฐๅœฐๅ€๏ผˆๅ…ฌ้’ฅ๏ผ‰ pub

iblockchain => pub
//output
041ad79cddfcc575efdae26e46e14a13c600967aff1db6d7eba66f770d585c542dfaed897f72b5bc40595f5601a868837f63bface539350ac6d013b99d17a0fbeb

่ฝฌ่ดฆ trans

iblockchain => trans 0446b3de736bca3db5e19a7db06e56851a0a45fd07bbf74a355ef91f480151ff9ee7720367b4010c525bada702df62c98768d6a34bdd066e69653ad92e8f99f065 20

//output โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ from โ”‚ to โ”‚ amount โ”‚ sig โ”‚ timestamp โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ "041ad79cddfcc575โ€ฆ โ”‚ "0446b3de736bca3dโ€ฆ โ”‚ 20 โ”‚ "3045022100804809โ€ฆ โ”‚ 1539017836747 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŸฅ็œ‹่ฟ˜ๆฒกๆ‰“ๅŒ…็š„ไบคๆ˜“ pending

iblockchain => pending

//output โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ from โ”‚ to โ”‚ amount โ”‚ sig โ”‚ timestamp โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ "041ad79cddfcc575โ€ฆ โ”‚ "0446b3de736bca3dโ€ฆ โ”‚ 20 โ”‚ "3045022100804809โ€ฆ โ”‚ 1539017836747 โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ "041ad79cddfcc575โ€ฆ โ”‚ "0446b3de736bca3dโ€ฆ โ”‚ 12 โ”‚ "30460221008b13a5โ€ฆ โ”‚ 1539017874219 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŸฅ็œ‹ๅœฐๅ€ไฝ™้ข(้ป˜่ฎคๆœฌๅœฐ)) blance

iblockchain => blance 041ad79cddfcc575efdae26e46e14a13c600967aff1db6d7eba66f770d585c542dfaed897f72b5bc40595f5601a868837f63bface539350ac6d013b99d17a0fbeb
{
  "address": "041ad79cddfcc575efdae26e46e14a13c600967aff1db6d7eba66f770d585c542dfaed897f72b5bc40595f5601a868837f63bface539350ac6d013b99d17a0fbeb",
  "blance": 168
}
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ address            โ”‚ blance             โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ "041ad79cddfcc575โ€ฆ โ”‚ 168                โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆŸฅ็œ‹็ฝ‘็ปœ่Š‚็‚นๅˆ—่กจ peer

iblockchain => peer //output โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ port               โ”‚ address            โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 8001               โ”‚ "47.94.5.240"      โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 8002               โ”‚ "42.56.89.132"     โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 59838              โ”‚ "124.127.208.135"  โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ 27122              โ”‚ "123.114.48.94"    โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆผ”็คบๅ‘ฝไปค

ๅธฎๅŠฉ help

iblockchain => help

่ฎก็ฎ—sha256ๅ“ˆๅธŒ hash

iblockchain => hash imooc

//output 5401cc2e57b309427fd10963f8b8ee58545284e35bfba0e00780369307e54849 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ hash โ”‚ value โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ "5401cc2e57b30942โ€ฆ โ”‚ "imooc" โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

ๆผ”็คบๆŒ–็Ÿฟ้€ป่พ‘ minedemo

iblockchain => minedemo imooc 2

// output [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc0 ๅ“ˆๅธŒๅ€ผๆ˜ฏ25c771cbd916307a0417ebf4f8a705e8319bb100c93db4cde74f4fbca7da54d6 [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc1 ๅ“ˆๅธŒๅ€ผๆ˜ฏ3b8368f43662598160ade6788b0504d789700c59574613c3dffb8b467aab8d5f [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc2 ๅ“ˆๅธŒๅ€ผๆ˜ฏf3cf53d3b2d6f83ac857e8e018ee4bbd78c1fdd5d96660b20116d2bc6a4e281e ...็œ็•ฅๅพˆๅคšๆก [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc248 ๅ“ˆๅธŒๅ€ผๆ˜ฏe6e8c271edec6c1b6f2b4bfa9725fecc0fe50356dcec47766440da2e29837e88 [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc249 ๅ“ˆๅธŒๅ€ผๆ˜ฏd1e79e718588ae125252d88c4a373934ebab3a9b1015f50d89329a151b78e406 [ไฟกๆฏ] ๆ•ฐๆฎๆ˜ฏ imooc250 ๅ“ˆๅธŒๅ€ผๆ˜ฏ008781ebdfdff9e1660841b4ab159f2cb6c3fca3217865366c30a1912d620cc5

ๆ นๆฎ็ง้’ฅ็ฎ—ๅ‡บๅ…ฌ้’ฅ getpub

iblockchain => getpub imooc ็ง้’ฅimooc่ฎก็ฎ—ๅ‡บ็š„ๅ…ฌ้’ฅ 04c8d1d62200e93e7bbf4b0c65da66d343656a6aebd51c146ed60f9dbbe39a4beededb5bbeeb1660269695d5a6959470c411c07545952e93f80460e76e31fcdde0

RSA็ง้’ฅๅŠ ๅฏ† sign

// ๅญ—็ฌฆimoocไฝœไธบ็ง้’ฅ ๅฏนไฟกๆฏimoocrocks่ฟ›่กŒ็ญพๅ iblockchain => sign imoocrocks imooc ็ญพๅ 304402206cc8d37c9e9ac3d679267aa0203550e04e7bb7ee6ba3f6c2193b597aa9bdaa58022029e54e94065c2a377a7632bdda0f51b6bd8e28c8667568459b2329683deb8db8
RSAๅ…ฌ้’ฅ้ชŒ่ฏ็ญพๅ verify
iblockchain => verify imoocrocks 04c8d....dde0 3044....8db8 true

ๆ ก้ชŒๅŒบๅ—้“พๆ˜ฏๅฆๅˆๆณ• valid

iblockchain => valid ๆ ก้ชŒ็ป“ๆžœ: true

็ฏกๆ”นblockchainไบคๆ˜“ๆ•ฐๆฎ update

iblockchain => update 16 ไฟฎๆ”นไบ† ่ฝฌ่ดฆ้‡‘้ขไปŽ20=>21

iblockchain => valid [้”™่ฏฏ]: ็ฌฌ 16ไธชๅŒบๅ—hashไธๅฏน,็ฎ—ๅ‡บ็š„ๆ˜ฏb2f20b3bde5fe69ab5d5092f50222ea57c980902d4709de19563e2e797759efd ๅŒบๅ—้‡Œๆœฌๆฅ็š„hashๆ˜ฏ000001b0538910078e426c2989d561a4f715ab11838545ce4efe7838754f5fef ็œ‹ๆฅๆ•ฐๆฎ่ขซ็ฏกๆ”นไบ† [้”™่ฏฏ]: ็ฌฌ16ไธชๅŒบๅ—ไธๅˆๆณ• ๆ ก้ชŒ็ป“ๆžœ: false

้‡ๆ–ฐๅฏนไธ€ไธชๅŒบๅ—ๆŒ–็Ÿฟไฟฎๅค mineblock

iblockchain => mineblock 16 [้”™่ฏฏ]: ็ฌฌ 16ไธชๅŒบๅ—hashไธๅฏน,็ฎ—ๅ‡บ็š„ๆ˜ฏb2f20b3bde5fe69ab5d5092f50222ea57c980902d4709de19563e2e797759efd ๅŒบๅ—้‡Œๆœฌๆฅ็š„hashๆ˜ฏ000001b0538910078e426c2989d561a4f715ab11838545ce4efe7838754f5fef ็œ‹ๆฅๆ•ฐๆฎ่ขซ็ฏกๆ”นไบ† [ไฟกๆฏ]: ๅŒบๅ—16ไฟฎๅคๅฎŒๆฏ•

้€€ๅ‡บ exit

iblockchain => exit [ไฟกๆฏ]: ็ฝ‘็ปœไธ€็บฟ็‰ต๏ผŒ็ๆƒœ่ฟ™ๆฎต็ผ˜ ๅ†่ง

ไธ€ไบ›p2p็ฝ‘็ปœไผ ้€’็š„ไฟกๆฏ

[ไฟกๆฏ]: ไบคๆ˜“ๅˆๆณ• ๆ–ฐๅขžไธ€ไธ‹ { from: '0444d....bcf1'
[ไฟกๆฏ]: ๆŒ–็Ÿฟ็ป“ๆŸ ็”จๆ—ถ0.50s , ็ฎ—ไบ†69438ๆฌก, ๅ“ˆๅธŒๅ€ผๆ˜ฏ0000050c2b1b65a01659e85a17dfc3ad96fe8548dfaf694ff88ae478832ac37d๏ผŒๅ…ฅ่ดฆ100 ่ฏท็ฌ‘็บณ
[ไฟกๆฏ]: ๅคงๅฎถๅฟซๅŽปๅ’Œๆ–ฐๆœ‹ๅ‹ๆ‰“ไธชๆ‹›ๅ‘ผ
[ไฟกๆฏ]: ๆœ‰ไบบๆŒ–็ŸฟๆˆๅŠŸ๏ผŒๆˆ‘ไปฌๆญๅ–œ่ฟ™ไฝๅนธ่ฟๅ„ฟ
 ....

ๆ›ดๅคšไฟกๆฏ

  • ็ŸฅไนŽ
  • ๅฆ‚ไฝ•ๅ†™ๅ‡บ่ฟ™ไธชdemo(ๆ•™็จ‹)

่”็ณป

ๅคงๅฎถๅฏไปฅๅŠ ๆˆ‘ๅพฎไฟก

ๆˆ–่€…็›ดๆŽฅๆ่ต 

ๅ่ฎฎ

MIT

๐Ÿ”— More in this category

ยฉ 2026 GitRepoTrend ยท shengxinjing/iblockchain ยท Updated daily from GitHub