JavaScriptのクロスオリジン

CORS – Cross-Origin Resource Sharing

クロスオリジンとは、異なるドメイン間でJavaScriptなどのAjaxを行う方法です。

JavaScript側の設定

スクリプトの読み込みを行うタグで crossorigin="anonymous" を付ける。

<script src="http://example.com/js/ajax.js" crossorigin="anonymous"></script>

サーバー側の設定

JavaScriptファイルの送信ヘッダーに Access-Control-Allow-Origin ヘッダーを付加します。

<?php header("Access-Control-Allow-Origin: *"); ?>

 

PHPのすゝめ – more better Python

Python前提のOSS辛い問題

Pythonで書かれたスクリプトを動かす時、一番困るのがバージョン間の問題で動かない問題。

これは辛い!!

PythonはPerlとは比較にならない読み易さなので、Python使うのは分かります。

でもPythonは、バージョン間の互換に問題があって辛いんです。

そこでPHPですよ!PHPはWebに特化している言語なのでWeb以外にはほぼ使われていないのですが、シェルスクリプトとしても十分な命令を備えているんですよ。

PHPはPerlより、圧倒的に読み易い!Pythonと変わらないかそれ以上です!

PHPはPythonより、圧倒的に互換性に強い!なんなら15年前のPHP4のソースコードも実行できそうです。

え?Perl使わないの?

え?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

→ Perl辛い問題

Macでビットコイン(bitcoind)をビルド(コンパイル)する方法

ビットコインとは

言わずと知れた仮想通貨(本当は暗号通貨と呼ぶのが正しい)です。ビットコインとは、ブロックチェーンという出納台帳により、所有が保証されている資産です。(永遠不滅の資産です)

現在は、少額決済(コイン)として使うものではなく、長期保有による資産の保全となっています。(資産が増えるのは結果論ですが、需要と供給のバランスから高騰するのは当然といえるでしょう)

プログラムとしてのビットコイン

PHPからビットコインを操作したいというニーズは多いと思います。例えば、あなたが新規サービスを作成し、そのサービスへの対価としてビットコインを受け取りたいなどです。

結論から先に書けば、bitcoind というデーモン(常駐プログラム)を、あなたのサーバーで起動すれば、いわゆる支払いができるようになります。

bitcoind とは?

bitcoind とは、あなたのサーバー(サービス)に関わる売買記録をブロックチェーンに記録してくれるサービスです。

Macにビットコインをインストールするだけであれば、Homebrew や MacPorts に bitcoind のパッケージがあります。

それをインストールすれば、bitcoind の起動に必要な依存ライブラリも全てインストールされます。

Bitcoin Core について

ビットコインは、オープンソースソフトウェアです。ソースコードは github にあります。

これは、Satoshi Nakamoto のコミット履歴もある、ビットコインのリファレンス(公式実装)です。Bitcoin Core と呼ばれています。

リファレンスということは、bitcoind (bitcoin core)以外のビットコイン・プログラムもあるということです。

ビットコインとは、ブロックチェーンを読み書きするためのツールだといえます。これはC++で書かれた実装ですが、C# や Java や Go で書かれたライブラリもあります。もちろんPHPで書かれたライブラリもあります。

しかしながら、安定してビットコイン・ネットワークに参加するには、やはり bitcoind となるでしょう。

Bitcoin Core のダウンロード

それでは実際の作業を始めましょう。

まずは、bitcoin core をダウンロードします。

git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
ls -l

bitcoind のコンパイル(ビルド)

autogen.shconfigure は初期設定です。

make でコンパイル(ビルド)を行います。

make check でビルドをチェックします。

./autogen.sh
./configure --without-gui
make -j4
make check

--without-guiは、QTで作成されたウォレットアプリの作成をしないオプションです。

-j4は、ジョブ数を4つに増やすオプションです。この数字は、一般的にCPUのコア数に対して2倍が良いと言われています。

問題なければ src ディレクトリに bitcoind が作成されています。

src/bitcoind --version

バージョン情報が表示されましたか?

具体的な bitcoind の操作については、また次回。