2019-01-01から1ヶ月間の記事一覧
C言語とは配列長部分の定義順序が逆になります。 3 x 2の2次元配列 const A: [[u8; 2]; 3] = [ [0x01, 0x02], [0x03, 0x04], [0x05, 0x06] ]; プログラミングRust作者: Jim Blandy,Jason Orendorff,中田秀基出版社/メーカー: オライリージャパン発売日: 2018…
rust は並列処理が作りやすい言語である。言語レベルで完全にスレッド安全性が担保されていると言って良いだろう。 以下は0から15の値の合計を4つのスレッドを使って計算するrustのソースである。 extern crate crossbeam; fn main() { let mut sum0: u64 = …
macOS grin-miner でCPUマイニングを試したときの手順メモです。 結果的にハッシュパワーが足りずマイニングはできませんでした。 ビルド grin 本体とgrin-minerをクローンしてビルドします。 $ git clone https://github.com/mimblewimble/grin.git $ cargo…
ウォレットをテキストファイルに出力する。 $ bitcoin-cli dumpwallet pebble8888wallet.txt { "filename": "/Users/pebble8888/Library/Application Support/Bitcoin/pebble8888wallet.txt" } $ cat pebble8888wallet.txt # Wallet dump created by Bitcoin…
SageMathを使います。 計算の都合上x一つに付きy一つの点のみとしています。(※1) q = 2**256 - 2**32 - 977 K = GF(q) i = 1 for x in range(0, 1000): try: n = (x ** 3 + 7) % q y = K(n).nth_root(2) print("P"+str(i)+": ("+str(x)+","+str(y)+")") if i…
secp256k1のベースポイントの性質をみていきます。 有理点(x, y)はおよそ256ビットの範囲内で均等に値がばらけていると考えられます。 ベースポイントGの倍数 を計算したときのx, yの値はおよそ256ビットの値がランダムに並んだようになりますが、たまたま端…
macOS 10.14.2 mojave に bitcoin core をインストールしてみます。 testnet で550MBのプルーンモードで起動させるので、ディスク容量の空き容量はは2GBあればよさそうです。 (550MBを指定しても2GBのサイズになる理由は分かっていません。) mainnet で起動…
ほぼpythonと同じ構文と考えておけばよいです。 100未満の素数を出力する sage: x = 1 sage: while x < 100: ....: if x.is_prime(): ....: print(x) ....: x = x + 1 ....: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 プログ…
数学の研究に便利な SageMath のインストール方法と使い方です。 macOSの場合です。 以下のページのいずれかから以下のファイルをダウンロードします。 http://ftp.riken.jp/sagemath/osx/intel/index.html http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/os…
例として、 を考えます。 というのは数として、43で割った余り、つまり、0,1,2,3,...,42 だけの世界を考えるということです。 x, y の値として0,1,2,3,...,42だけを考えます。 42よりも大きな値は43で割った余りと同一の値であるとみなします。 するとの式を…
y'についてもみていきます。 を使うと、 残りのフロベニウス写像部分は したがって、 分母を揃え、分子だけ取り出したものがで割り切れるかどうかを調べます。 コンピュータ計算上は分母にyが含まれるか否かの分岐が面倒なので、 分子だけの計算結果にyが含…