########################### ARCANA生成API ########################### 次のスクリプトタグをコンテンツ側に埋め込むことで、ARCANA生成画面を呼び出すことができる。 API仕様 =========================== ------------------------------------ ARCANA生成ページ呼び出しスクリプト ------------------------------------ 生成スクリプトサンプル::
.. csv-table:: :header-rows: 1 :align: center パラメータ, required/optional, 型, 説明 id, required, 文字列, gen_arcana_script (変更しないで下さい) src, required, URL, {endpoint}/arcana.js(endpointは環境情報ページを参照) data-eggid, required, 数値, パブリッシャーが保持するEGGのeggid。 data-seed, required, 数値, seed data-signature, required, 文字列, パブリッシャーによる署名。署名生成手順ページを参照。 callback-url, optional, URL, "callbackのURL。requestIdとtxHashがGETパラメータとして追加されてredirectされる。http://test.comを指定した場合、http://test.com?requestId=1&txHash=xxxxxのようになる。また、callbackは指定しなくても良い。その場合はportal上のウォレットページに遷移するボタンが表示される。" data-requestid, required, 数値, パブリッシャー毎の任意の数値(0 ~ 18446744073709551615)。check statusで使用。 data-toaddr, required, address, ARCANAの配布先wallet address data-logout, optional, boolean, trueの場合、強制的に再ログインをさせる。falseの場合、セッション情報があれば自動ログイン、なければ再ログインをさせる。無しの場合、falseと同様。 data-symbol, optional, 文字列, パブリッシャー側で設定できるシンボル。 data-manaInfo, optional, 文字列, パブリッシャー側でテキストを設定できる。コンテンツでの体験情報や暗号化した個人情報などをここに書き込むことで、ARCANAに付加価値をもたせるなどの利用が想定される。 data-manaValue, optional, 数値, パブリッシャー側で設定できる数値。 data-manaAddress, optional, address, 中断されたARCANA生成のmanaAddressを指定。 直接生成ページを呼び出す場合は以下のようにする。:: {endpoint}/arcana-gen/{eggId}/{seed}/{signature}/{requestId}/{toAddress}?r={callbackUrl}&logout=true (mana情報あり) {endpoint}/arcana-gen/{eggId}/{seed}/{signature}/{requestId}/{toAddress}/{symbol}/{manaInfo}/{manaValue}?r={callbackUrl}&logout=true (manaAddress指定) {endpoint}/arcana-gen/{manaAddress} .. admonition:: 補足 - 直接生成ページを呼び出す場合で、symbol, manaInfo, manaValue指定なしの場合、対象の箇所にnullを入れてください。 - 「manaInfo」の最大文字数は、リクエストヘッダ全て合計での制限となる。他のパラメータとの兼ね合いもあるが、symbol, manaInfo, manaValue併せて、日本語だと800文字以下, 半角英数字だと7200文字以下とする。 - マナ情報に表示するテキストは現在のところ改行不可。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------ check status ------------------------------------ ARCANA生成のステータスを参照する method:: GET endpoint:: /api/arcana-status/{wallet_address}/{request_id} .. csv-table:: :header-rows: 1 :align: center パラメータ, 説明 wallet_address, 署名者のアドレス(EGG保有者のアドレス) request_id, ARCANA生成API呼び出し時に指定したリクエストID Sample response .. code-block:: json { "data": { "status": "done", "transaction_id": "0x2e35551b1bf7bb6942610be99dcf60fafe804f167c19a2070c45ff1a0a7f50de" }, "status": "success" } statusの値(data内のstatus) .. csv-table:: :header-rows: 1 :align: center ステータス, 説明 no_transaction, ユーザはまだARCANA生成手順を完了していない。(離脱した場合も含む) transaction_created, ARCANA生成トランザクションをブロックチェーンに送信済みだが、結果未確定 error, トランザクションがなんらかの原因で失敗して終了(ARCANAは生成されていない) done, ARCANAが生成されて正常終了 Error response .. code-block:: json { "message": "request_idが見つかりません" } 備考:: errorの場合は404 ------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------ ARCANA生成までの流れ ------------------------------------ ARCANA生成までの手順は以下のような流れになる。 #. Validatorセットアップ。 #. SHARDの付与、ANIMAの付与 #. Matrixの登録、Matrixの有効化 #. Validator管理画面でEGG生成を行う。 #. 専用のサイトでValidatorの秘密鍵を取得。 #. 取得した秘密鍵で署名を作成。 #. 上記で生成したEGG、署名を使用してARCANAを生成。 staging環境では以下の手順で実施できる。 #. Validator管理画面にメールアドレスで登録。walletが作成される。 #. 上記で発行されたwalletaddressのprivatekeyを使用し取得。privatekeyはValidator管理画面に対象ユーザーでログインし、ブラウザの開発ツールのコンソールから確認できる。表示されたprivatekeyの頭に0xをつけて使用し、署名の作成を行う。 #. ステージング環境でのEGGは、Validator UIから生成して頂くのではなく、管理権限で発行を行います。 #. 発行されたEGGのIDをパラメーターのeggidに設定します。所持しているEGGはValidator管理画面で確認が行える。