Skip to content

Instantly share code, notes, and snippets.

@akirattii
Created May 12, 2017 23:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akirattii/5f96e9550fc8030fd5343d8ae95f9260 to your computer and use it in GitHub Desktop.
Save akirattii/5f96e9550fc8030fd5343d8ae95f9260 to your computer and use it in GitHub Desktop.
メモ: Counterblock API の "get_preferences" が吐き出す address_aliases のハッシュ化アドレス
/*
メモ:Counterblock API の "get_preferences" が吐き出す address_aliases に含まれているハッシュ化されたアドレスは、以下のようなロジックで生成されている。
*/
var CryptoJS = require("crypto-js");
var addr = 'mkcpH67kGUUzVBpKU5P5QkPT48DygcjCgQ'; // address
var base64 = CryptoJS.SHA256(addr).toString(CryptoJS.enc.Base64);
console.log("ハッシュ化されたアドレス:", base64); // 'MvB0qNP3dcHwbatXgFkST2wmc5/D+Pmq/1zgetO0EQc='
/*
Counterwalletは、ユーザ(というかwallet_id)が保持(利用)しているアドレス数をサーバに保存しているので、
パスフレーズ(※)から生成されるアドレス群のindex=0からハッシュチェックを繰り返し、有効なアドレス(ユーザが利用しているアドレス)だけを抽出・表示することができる
※1つのパスフレーズから生成されるアドレス配列には必ず同じindexに同じアドレス情報が入っている
参考
https://counterpartytalk.org/t/is-it-possible-to-create-list-of-addresses-and-private-keys-from-counterwallet-pass-phrase/1223
http://blog.yzono.com/entry/2016/01/05/170614
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment