操作各種比特幣錢包:BitcoinJS
![]()
BitcoinJS 是一個純 JavaScript 庫,支持 Node.js 和瀏覽器,用于操作各種比特幣錢包。超過150萬錢包用戶在生產中使用它。
特性
-
Clean - 純JavaScript,代碼簡潔,易于閱讀。
-
Tested - 覆蓋率>95%,第三方集成測試。
-
Careful - Two person approval process for small, focused pull requests.
-
兼容 - 可工作在Node.js和所有現代瀏覽器。
-
強大 - 支持高級特性,比如 multi-sig, HD Wallets.
-
安全 - 強隨機數生成, PGP簽名的版本,值得信賴的開發者。
-
Principled - No support for browsers with crap RNG (IE < 11)
-
Standardized - Node community coding style, Browserify, Node's stdlib and Buffers.
-
Fast - Optimized code, uses typed arrays instead of byte arrays for performance.
-
Experiment-friendly - Bitcoin Mainnet and Testnet support.
-
Altcoin-ready - Capable of working with bitcoin-derived currencies (such as Dogecoin).
示例代碼:
//生成比特幣地址
key = Bitcoin.ECKey.makeRandom()
// Print your private key (in WIF format)
console.log(key.toWIF())
// => 8c112cf628362ecf4d482f68af2dbb50c8a2cb90d226215de925417aa9336a48
// Print your public key (toString defaults to a Bitcoin address)
console.log(key.pub.getAddress().toString())
// => 14bZ7YWde4KdRb5YN7GYkToz3EHVCvRxkF
//開始交易
tx = new Bitcoin.Transaction()
// Add the input (who is paying) of the form [previous transaction hash, index of the output to use]
tx.addInput("aa94ab02c182214f090e99a0d57021caffd0f195a81c24602b1028b130b63e31", 0)
// Add the output (who to pay to) of the form [payee's address, amount in satoshis]
tx.addOutput("1Gokm82v6DmtwKEB8AiVhm82hyFSsEvBDK", 15000)
// Initialize a private key using WIF
key = Bitcoin.ECKey.fromWIF("L1uyy5qTuGrVXrmrsvHWHgVzW9kKdrp27wBC7Vs6nZDTF2BRUVwy")
// Sign the first input with the new key
tx.sign(0, key)
// Print transaction serialized as hex
console.log(tx.serializeHex())
// => 0100000001313eb630b128102b60241ca895f1d0ffca21 ...
// You could now push the transaction onto the Bitcoin network manually (see https://blockchain.info/pushtx)
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!
