yukku++
RSS Feed

Articles

  • TransifexでSphinxのドキュメントを翻訳した際の手順メモ

    次期nemであるnem2の開発者ドキュメントを和訳してフォークしたリポジトリで公開していましたが、このたび公式にマージされました。 NEM Developer Center — nem2-docs Master documentation NEM デベロッパーセンター — nem2-docs Master ドキュメント このドキュメント自体が sphinx...

    Read More »

  • NISのHTTP通信によるやりとりとHTTPSの必要性

    ミカン(@cryptomikan)さん | Twitterが書いた記事のツイートに対してコメントしたので、思うところを書きました。 秘密鍵の管理方法と悪用への対策 - Qiita 以下、指摘とかアドバイスとかではなくただのポエムです。 NISとのHTTP通信 残高やトランザクションの取得 HTTPなので平文がやり取りされますし、相手も本当にNISなのかはわかりません。 なので、残高などを取得していたサーバが実はNISに似た応答を返す偽NISかもしれません。 しかし、サーバは分散しているので他のノードへの問合せ結果と比較することで正しい内容を確認することができるでしょう。 この点については、偽物が紛れ込んでいても、他のノードで検証可能という意味で脆弱性ではない、仕組み上しょうがないことのうちだと思います。 これについては、アプリケーション側(できればSDKでサポートしてほしい)で複数のノードからデータを取得して検証するなどの仕組みがあれば解決できることです。 Don’t Trust,...

    Read More »

  • NIS2のAPIエンドポイントがSwagger/Insomniaでモダンに管理されるようになったよ

    NIS2のドキュメントが公開され、カタパルトのプレビュー版や情報がちらほら出てきました。 その中でAPIエンドポイントについて、以前の雑なドキュメントとは違い、しっかりしたものが公開されていたので見てみました。 といってもほとんどAPI管理ツールであるSwagger/Insomniaの話ですが。 API管理ツール用のJSON定義 APIについてはSwaggerもしくはInsomniaというAPI定義管理ツールを使っていくようで、そのJSON定義がアップされています。 nem2-docs/source/resources/collections/ nem2-docsドキュメントからのリンクはこちら。 Endpoints — NEM Developer Center それぞれ、ツールに読み込ませればいい感じで各APIエンドポイントの仕様を確認したり、リクエストを投げたりができます。 Swagger *追記しました。こちらからならすぐに見れます。 Build,...

    Read More »

  • NanoWalletにオフライントランザクション生成モジュールが追加されてた

    NanoWalletの2.1.2がリリースされ、オフライントランザクションの作成と送信機能が実装されていました。 (キャプチャは翻訳されていますが、これは私の作業中の画面であり、翻訳は記事執筆時にはまだマージもリリースされていません) オフライントランザクションの準備 上部のメニューより画面を開きます。見た目は通常の送信と同じですね。 それぞれを埋めてパスワードをいれたら、「作成」ボタンを押すと、右側のフィールドに署名済みJSONトランザクションが生成されます。 フィールドの右にあるボタンで、クリップボードにコピーとQRコードで表示するのを切り替えられます。 これが署名済みトランザクションです。 オフライントランザクションの送信 そうして生成した署名済みトランザクションを送信するには、リリースモジュールの画面を開きます。 署名済みトランザクションがメインネットのものかテストネットのものかを選んで、ノードを選びます。 ここに先程のトランザクションを貼り付けて「送信」ボタンで送信できます。 パスワードは必要ありません。署名済みだからです。 原状、QRコードによる送信はこのモジュールではできないみたいですね。 そのうちQRコードをドロップしたら読み込むとか、別途モバイルウォレットにも実装されるんでしょう。 もしくは、簡単に実装できる(QRコードをjsで解析して中身を読むライブラリがあったような)気がするのでブロードキャスターを作ってみてもいいかもです。 nem-rubyにも一応オフライントランザクションのサンプルがあります。...

    Read More »

  • nemのテストネットのノードの立ち上げとローカルAPIについて

    nemには実際に値段の付いているxemを扱うメインネットと、メインネットと同等のネットワークですが、nem自体やnemアプリケーションの実験、テスト、開発用として無価値とされるxemが流通するテストネットが存在します。 アプリケーション開発においていきなりメインネットのxemを使うとなると、意図しないバグなどでせっかく仕入れたxemを吹き飛ばしかねませんし、バグのたびにxemを買い集めていたら資金がなくなってしまいます。 そこでテストネットのxemを利用するわけです。 もちろんテストネットでも既存で立ち上がっているノードを使えばNIS APIを利用できますが、テストネットのノードはメインネットとくらべてとても少なく、承認に時間がかかったりする場合があるので、自分で立てる選択をする必要があるかもしれません。 すでに公式にはこのような記事があります。 Setting up a Testnet Node ちょっと内容が古いので、すでに更新されなくなったNCC(フルノードが必要なウォレットみたいなものです)の画像があったりしますが、ノードを立ち上げるという部分だけみれば手順は同じです。 ダウンロードと設定 Index of /...

    Read More »

  • nemui(nem Utility Interface)というものを作りました。

    nemui(nem Utility Interface)というものを作りました。 44uk/nemui: nem Utility Interface nemアプリケーションの開発だったり、特定のアドレスを見ていたかったり、複数のアドレスを横断してみることができます。 モザイクの詳細も見れるようにしていたり、シングルアカウント、マルチシグの区別がわかりやすいようにしていたりと、 NanoWalletでみるよりは、アカウントの情報を確認しやすいものを目指して開発しています。 testnet, mainnetに対応しています。mijinも選べますが仕様上使えるような気がする実装になっているだけで、動作の確認はできてません。 使い方 初期画面がそっけなくて寂しいですが、使い始めるにはアドレスを登録するだけです。 必要があればノードも追加することができますのでいじってみてください。 ウィンドウが開いたらアドレスを追加します。...

    Read More »

  • nemアドレスに動かせないモザイクを送りつけマーキングする

    CCの事件の最中、その裏では盗まれたxemが転送されたアドレスが特定され、@minarin_氏によりアドレスの監視が行われていました。 その中で「動かせないモザイクでマーキングをした」という話が上がっていました。 おそらくはそのモザイクを持っているアドレスから取引所に送られたxemを保護するためのマーキングでしょう。 (実際にどうゆうことが行われたか、具体的なことはわかりません。時期がきたら公表されるかもしれませんが) それはそうと、「動かせないモザイク」ってどうゆうことだろう?と思ったのですが、確認して見たところ、Levyを応用したやり方でそれを実現していました。 動かせないモザイクの作り方 モザイクにはLevyという、そのモザイクを転送するために必要なモザイク(xemを含む)を設定できます。 Levyが設定されたモザイク、転送手数料とは別に、Levyで設定されたモザイクが転送する際に必要です。 いままでよくあったのは、高額のxemを設定して、うっかりそのモザイクを転送するとxemがLevy指定のアドレスへ送られてしまう(事実上奪われる)という罠めいたものがありました。 その際、残高が足りなければ当然送信はできません。 それを応用して、Levyに流通していない、絶対に手に入らないモザイク(自分で発行してどこにも転送しない)を設定します。 そうすれば、送りつけられたモザイクを転送するためのLevyモザイクが手に入らないので、モザイクを転送できなくなっちゃいます。 この方法で、盗まれたアドレスへこのモザイクを送りつけることでマーキングを実現していたわけですね。 具体的に、こちらがそのトランザクションの一部です。 090ab3288381bbb8f5b6da160fddbd58313ffae010e82361dc080abf569971ab |...

    Read More »

  • nis-rubyをnem-rubyにリファクタリングしました。

    以前作った44uk/nis-ruby: Ruby client library for the NEM Infrastructure Server APIですが、もともとAPIを読み解くために作ったものだったので、メソッド名や設計がイマイチだったりしたので、学んだ事をベースにリファクタリングしてnem-rubyを作りました。 44uk/nem-ruby: Ruby gem for communicating with...

    Read More »