Hướng dẫn python mnemonic to private key - python ghi nhớ thành khóa riêng tư
Về cơ bản tôi đã làm theo các hướng dẫn ở đây làm thế nào để tạo địa chỉ sợi nấm từ 12 từ trong Python Show
Vì vậy, mã của tôi tương tự:
Và tôi đã xác minh nó bằng cách sử dụng https://iancoleman.io/bip39/#english rằng địa chỉ được tạo thực sự là địa chỉ đầu tiên mà trang web này được tạo. Tuy nhiên, tôi cũng muốn có được các cặp khóa công khai và riêng tư bằng cách sử dụng cùng một thư viện này. Ban đầu tôi đã thử:
Tuy nhiên, đầu ra của hai cuộc gọi này không giống với các cuộc gọi được cung cấp bởi trang web ở trên cho cùng một địa chỉ. Vì vậy, câu hỏi của tôi là: cách thích hợp để tôi tạo ra các cặp khóa công khai và riêng tư là gì? Chỉnh sửa: Để làm rõ, để biết chính xác ghi nhớ và cụm mật khẩu ở trên, trang web tôi đang sử dụng để tham khảo cho tôi biết địa chỉ đầu tiên và bàn phím nên là: Mặc dù đầu ra của mã Python ở trên là:
Vì vậy, địa chỉ khớp, nhưng không phải là bàn phím. Ví BIP32 là gì? Việc thực hiện tham chiếu BIP-0039: Mã ghi nhớ để tạo khóa xác định trừu tượng Xem https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki để biết thông số kỹ thuật đầy đủ Cài đặtĐể cài đặt thư viện này và các phụ thuộc của nó sử dụng: 7 Ví dụ sử dụngNhập thư viện vào dự án Python thông qua: from mnemonic import Mnemonic Khởi tạo thể hiện lớp, chọn từ từ điển có sẵn:
mnemo = Mnemonic(language) mnemo = Mnemonic("english") Tạo danh sách từ được đưa ra sức mạnh (128 - 256): words = mnemo.generate(strength=256) Đưa ra danh sách từ và cụm mật khẩu tùy chỉnh (ví dụ trống), tạo hạt giống: seed = mnemo.to_seed(words, passphrase="") Đưa ra danh sách từ, tính toán entropy gốc: entropy = mnemo.to_entropy(words) Thư viện tiện ích BIP
Giới thiệuGói này cho phép tạo ra mnemonics, hạt giống, khóa riêng/công cộng và địa chỉ cho các loại tiền điện tử khác nhau. Đặc biệt:
Các chức năng được triển khai khác:
Phụ thuộc gói:
Xin lưu ý rằng, đối với thư viện PY-SR25519-Bindings, phải cài đặt Rust được cài đặt. Tiền hỗ trợTiền BIP được hỗ trợ:
Các đồng tiền được hỗ trợ:
Đối với những gì liên quan đến Monero, cũng có thể tạo ra các địa chỉ tương tự của ví chính thức mà không cần sử dụng đạo hàm BIP44. Rõ ràng, đối với những đồng tiền hỗ trợ các hợp đồng thông minh (ví dụ: Ethereum, Tron, ...), các khóa và địa chỉ được tạo là hợp lệ cho tất cả các mã thông báo liên quan. Cài đặt góiĐối với đường cong SECP256K1, có thể sử dụng thư viện Coincurve hoặc ECDSA. Coincurve nhanh hơn nhiều vì đây là một trình bao bọc Python cho thư viện SecP256K1 C, trong khi ECDSA là một triển khai Python thuần túy. Theo mặc định Coincurve sẽ được sử dụng, nhưng có thể vô hiệu hóa nó khi cài đặt. Để cài đặt gói:
Cài đặt thay thế (ECDSA sẽ được sử dụng cho SECP256K1) if you are using an Apple M1, please make sure to update coincurve to version 17.0.0 otherwise it won't work. Sử dụng setuptools: 3Lưu ý: Nếu bạn đang sử dụng Apple M1, vui lòng đảm bảo cập nhật Coincurve lên phiên bản 17.0.0 nếu không nó sẽ không hoạt động. 4Để chạy các bài kiểm tra: 5Hoặc bạn có thể cài đặt TOX: 6Và sau đó chỉ cần chạy nó:
Cơ chấtThư viện tiện ích Tài liệuTài liệu thư viện có sẵn tại BIP-UTILS.READTHEDOCS.IO. Ví dụ mãĐối với một số ví dụ mã hoàn chỉnh (từ tạo khóa đến tạo khóa), hãy tham khảo thư mục ví dụ.
BTC: 8ERC20/BEP20: print "Public Key: " + Base58.check_encode(key.ChildKey(44 + BIP32_HARDEN) \ .ChildKey(0 + BIP32_HARDEN) \ .ChildKey(account_number + BIP32_HARDEN) \ .ChildKey(0) \ .ChildKey(i) \ .PublicKey()) print "Private Key: " + Base58.check_encode(key.ChildKey(44 + BIP32_HARDEN) \ .ChildKey(0 + BIP32_HARDEN) \ .ChildKey(account_number + BIP32_HARDEN) \ .ChildKey(0) \ .ChildKey(i) \ .PrivateKey()) 9Cảm ơn bạn rất nhiều vì sự hỗ trợ của bạn. Làm thế nào tôi có thể nhận được một cụm từ ghi nhớ từ một khóa riêng?Description.. Java. // Sử dụng ghi nhớ để khôi phục khóa riêng. PrivateKey PrivateKey = PrivateKey. FromMnemonic (Mnemonic); .... JavaScript. // Sử dụng một bản ghi nhớ được phục hồi để khôi phục khóa riêng. const recomedMnemonic = Await Mnemonic. từ chống chống (Mnemonic. .... Đi. RecoveredKey, err: = Hedera. PrivateKeyFrommnemonic (Mnemonic, ""). Mnemonic có giống như khóa riêng không?2 |Nói cách khác, cụm từ ghi nhớ là một dạng khác của khóa riêng, nó chuyển đổi khóa riêng 64 bit thành một số từ tiếng Anh phổ biến để dễ ghi nhớ hơn.the mnemonic phrase is another form of the private key, it converts a 64-bit private key into several common English words to be easier to memorize.
Python ghi nhớ là gì?Python-mnemonic Nó bao gồm hai phần: tạo ra mnenomic và chuyển đổi nó thành hạt nhị phân.Hạt này sau đó có thể được sử dụng để tạo ví xác định bằng BIP-0032 hoặc các phương pháp tương tự.generating the mnenomic, and converting it into a binary seed. This seed can be later used to generate deterministic wallets using BIP-0032 or similar methods.
Ví BIP32 là gì?BIP 32 là đề xuất cải tiến Bitcoin đã đưa ra tiêu chuẩn của ví xác định phân cấp (HD) và các khóa mở rộng cho Bitcoin.BIP 32 là một cải tiến đáng kể cho ví bitcoin theo nhiều cách.the Bitcoin Improvement Proposal which introduced the standard of Hierarchical Deterministic (HD) wallets and extended keys to Bitcoin. BIP 32 was a significant improvement for Bitcoin wallets in several ways. |