textcoinはEメールなどテキストでやりとりができるサービスを使って送金ができる機能です。
LineやSkype、SMSなどURLが送れさえすればなんでも使えます。
訳者補足:textcoinで生成されたURLは赤の他人がクリックしても取得出来てしまうので、Twitterの@メッセージなど
誰でもメッセージを見られるサービス上で使うことはオススメしません。
textcoinは紙にも印刷できるので、スクラッチカードにしたり、他のサービス経由でURLを2次元バーコード化してペーパーウォレットの様に扱うことも出来ます。
サーバー側からtextcoinを送るのは簡単です:Byteballアドレスに送信するのと同じ機能を使用しますが、受信者のByteballアドレスの代わりに使用します。
- textcoin:userEmailAddress :Eメール経由で送る場合に使用
- textcoin:someUniqueIdentifierOtherThanEmail:それ以外の方法で送る場合に使用
例:textcoin:
pandanation@wwfus.org もしくは textcoin:ASDFGHJKLの場合
サンプルコード
let opts = {
asset: null,
amount: 1000, // bytes
to_address: "textcoin:pandanation@wwfus.org",
email_subject: "Payment in textcoin"
};
headlessWallet.issueChangeAddressAndSendMultiPayment(opts, (err, unit, assocMnemonics) => {
....
});
optオブジェクトはいくつかのフィールドを持っていて、「email_subject」はユーザーにEメールを送る際のタイトルになります。
メールを送信する場合、設定ファイルに次のフィールドを設定する必要があります。
- from_email:メールの送信元アドレス。 あなたが所有するドメインである必要があります。さもなければ、電子メールは配信されないか、スパムとして分類されます
- smtpTransport:電子メールの配信に使用されるSMTP送信のタイプ:
- local:(初期値)/usr/sbin/sendmailのモジュールを使う方法
- direct:受信者のMXサーバーに直接接続するので、テキストコインを覗かれたり、盗み出されたりする可能性のある仲介者の数は最小限に抑えられますが、再試行がないため信頼できません
- relay:中継サーバーを介して送信します。 この場合、ホスト名をsmtpRelayに設定する必要があります。 認証が必要な場合は、smtpUserとsmtpPasswordも設定する必要があります
ssueChangeAddressAndSendMultiPaymentおよびすべての同様の関数のコールバックには、オプションの3番目のパラメータassocMnemonicsがあります。これは、入力パラメータからアドレスによってインデックスされた、生成されたすべてのテキストコイン(BIP39ニーモニック)の連想配列です。
{
"textcoin:pandanation@wwfus.org": "barely-album-remove-version-endorse-vocal-weasel-kitten-when-fit-elbow-crop"
}
配列のすべてのキーには、入力パラメータのようにtextcoin:接頭辞が付いています。
電子メール以外のメディアを送信している場合は、assocMnemonicsを使用して出力アドレスごとに生成されたニーモニックを検索します(上記の例では、キーtextcoin:ASDFGHJKLで検索します)。
たとえば、特定のアクションに対してユーザーに報酬を与えるTelegramボットを作成する場合は、ニーモニックの先頭に
https://byteball.org/openapp.html#textcoin?を付けてクリック可能なリンクを作成します。
https://byteball.org/openapp.html#textcoin?barely-album-remove-version-endorse-vocal-weasel-kitten-when-fit-elbow-crop
そしてこれをチャットに貼り付けて送ります。
ATMからペーパーウォレットを印刷する場合は、ニーモニックを印刷してオプションでQRコードでエンコードします。