yukku++
RSS Feed

Articles

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

  • NEMのモザイク送信についての誤解

    NEM-sdkを使ってモザイクの送信を試していたのですが、自分の想像と違う動作だったので、実際の動きからその仕様を整理してみました。 といってもキチンと仕様書には書いてあったのでよく読めという話でしかないのですが。 追記:以下の画面キャプチャはNanoWallet 1.x系のものです。2.xでは表示されなくなりました。ただしNISの仕様は変わっていません。 仕様 7.2.2 Version 2 transfer transactions 7.2.2.転送トランザクションバージョン2 この章の後半にちらっと書いてあるのですが、日本語訳のほうをみたらわかりやすいでしょう。 トランザクションのamountフィールドは、添付物によるトランザクションにより異なって解釈されます。 アタッチメントに記載された数量を掛ける数は金額を1,000,000で割ることによって与えられます(このバージョンでは、NISは分数転送をサポートしていません)。この例では3,000,000 / 1,000,000...

    Read More »

  • けいおん!で学ぶ NEM のマルチシグ運用

    注意!この方法ではりっちゃんがさわちゃん先生を連署者から外せてしまう問題が存在します。そのため連署者の片方の秘密鍵が割れただけでウォレットの乗っ取りができてしまうパターンなので推奨できません。後ほどリライトしますので参考程度にお願いします。 以下、執筆時の原文です。 けいおん!…え、もう10年近く前…?! …さておいて、NEMのマルチシグを妄想しながら使ってみて、理解したことをメモりました。 NEMが一般的に使われる世界で 部員が4人集まったので、軽音部として活動できるようになりました。 そこで部費をNanoWalletでやり取りをすることにしました。 まずは軽音部のウォレットを作成し、それをマルチシグアカウントに変更します。 「署名者は公開鍵を取得するために最低1回はトランザクションを発生させる必要があります。」と表示されました。 これはネットワーク上にトランザクションの記録がないとアドレスから公開鍵を割り出すことができないためです。 マルチシグアカウント変更手数料も必要なので、50xemほど入れて、自分宛てに0xemでもいいので送金しておきましょう。 (受信だけではダメみたいです。送信トランザクションを発行して下さい) マルチシグアカウントに変換したいアドレスの秘密鍵を入力します。 (秘密鍵を知っていれば操作できるみたいなのでログイン中のアカウントでなくても良いみたいです) 顧問は山中さわ子先生、部長はりっちゃんなので連署人に追加します。 (二人はすでにウォレットを持っているものとします)...

    Read More »