yukku++
RSS Feed

Articles

  • 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 »

  • httpsプロトコルに応答するNISサーバの構築

    ServiceWorkerやWebRTCと組み合わせたモノを作るため、httpsで通信できるNISがほしかったのですが、対応しているノードが少ないし、あっても署名が切れていたりでイマイチ使い物にならなかったので自分で立てることにしました。 https://nis-testnet.44uk.net:7891 ServiceWorkerやWebRTCの利用で必要な方はどうぞご利用ください。(落ちてたり、証明書切れてたら、教えてくれれば対応します) Add Https to an NIS Node on Debian 公式にあったこの手順を参考にしています。 *追記 Catapultでも同じ方法が通用します。ただプロキシしているだけなので。 /etc/stunnel/stunnel.conf のあたりでAPIサーバのポートを指定してあげればいいです。...

    Read More »

  • nem-toolchainでVanityAddressをゲットだぜ!

    VanityAddressとは人間が読んだときに意味のある文字の羅列からなるアドレスのことを言うようです。 例えば、ネームスペースを作るときの作成手数料を送るアドレスは NAMESPACEWH4MKFMBCVFERDPOOP4FK7MTBXDPZZA ですが、よーくみると先頭が「NAMESPACE」となっています。 こちらはモザイク作成の宛先。 NBMOSAICOD4F54EE5CDMR23CCBGOAM2XSIUX6TRS こちらも途中ですが「MOSAIC」と入っています。 Vanityとは「虚栄」「うぬぼれの元」などの意味があり、おそらくは人間に特別視されているだけ(何か特別な意味があるという思い込み)で、システム(ブロックチェーンネットワーク)においては何の意味も価値もない、というようなことを示唆しているんじゃないでしょうか。 (nemネットワークにおいてはこれらのアドレスが各役割を担うものとして定義されていますが、全くランダムなアドレスでもよかったはずです。憶測ですが。) nem-toolchain このようなアドレスをnem-toolchainで簡単に見つけだすことができます。 r8d8/nem-toolchain: Command line toolchain for...

    Read More »

  • NEM Infrastructure Server(NIS) 用 APIラッパーの nis-ruby の進展

    前回(NEM Infrastructure Server(NIS) 用 rubygem を作りました)から、あーでもないこーでもないでいろいろソースを覗いてrubyに移植して、なんとか暗号化部分を実装し、トランザクションの発行ができました。 44uk/nis-ruby: Ruby client library for the NEM Infrastructure Server API...

    Read More »