プラスプラス開発者ブログ

岩手県盛岡市のシステム開発会社「株式会社プラスプラス」の開発者ブログです。

ファイルのハッシュ値をブロックチェーンに登録するスマートコントラクト(PLUSPLUS-LAB の紹介)

こんにちは。

社内の技術検証で開発していたスマートコントラクトについてお知らせします。

file-identity-verification

ファイルのハッシュ値ブロックチェーンに登録するスマートコントラクトを公開しました。 GitHubソースコードをMITライセンスで公開しています。(^^)

github.com

スマートコントラクトはテストネット(ropsten)にデプロイしていまして、ソースコードの添付していますので、Etherscanから動作させることもできます。 (ちょっとインターフェースがとっつきにくい感じですが・・・)

https://ropsten.etherscan.io/address/0x0687cf290377571bda05061cec5c0f2be1a120bc

さすがに、Etherscanからだけしか動作確認できないのはつらいと思いますので、ウェブサイトをつくりました。

f:id:plusplus-sawada:20190409140709p:plain
ファイルのハッシュ値ブロックチェーンに登録できます

PLUSPLUS-LAB

PLUSPLUS-LAB の紹介です。

ウェブサイトはNuxt.jsで構築しています。

ブロックチェーンへの接続はMetamaskで、ブロックチェーンとの接続は web3.js でやっています。定番ですね。(^^)

このスマートコントラクトをウェブページから操作できるようになっています。

lab.plusplus.jp

お試しください。

TRON(TRX)ブロックチェーンで ERC223 トークンを動作させた実験の紹介

こんにちは。

弊社が参加している GoÐAppsプロジェクトで、 TRON(TRX) ブロックチェーンのスマートコントラクトにも挑戦してみました。

developers.tron.network

開発環境について

開発環境が Ethereum と同じような感じで揃っていまして、このような対応になります。

Ethereumの場合 TRONの場合
開発環境 truffle tronbox
プライベートネット gethで自力で構築するか Ganache を利用 TRON Quickstart
ブロックチェーンへの接続 infura trongrid
ブロックチェーンとの接続ライブラリ web3 tronweb
Chrome拡張機能 metamask tronpay

(TronPayについては後述します)

今回作成したスマートコントラクト:ERC223トークンの実装(TRON)

TRONはスマートコントラクトは Solidity が使えますので、 GoDappsプロジェクトで実装した ERC223 トークンを TRONブロックチェーンで動作するように修正してみました。

修正したトークンのソースコードGitHub で公開しています。

github.com

トークンをブロックチェーンにデプロイしただけでは使い勝手が良くないですので、 そのトークンの送金ができるウォブウォレットも作ってみました。 GoGoÐAppsのライブデモ で送金を試してみることができます。

※今回は実験ですので、TRON のテストネットにデプロイしています。

f:id:plusplus-sawada:20190329110437p:plain
TRONブロックチェーントークンを送金できる簡易ウェブウォレット

https://lab.godapps.io/tron-test/walletlab.godapps.io

動作には TronPay Chrome Extension for TRON が必要です。Chrome ウェブストアでダウンロードでダウンロードしてお使いください。

chrome.google.com

f:id:plusplus-sawada:20190329110320p:plain
送金を実行するとTron Payのダイアログが表示される

以上、実証実験結果のお知らせでした。

宜しくお願い致します。

Ethereumのスマートコントラクトの開発事例:GoDappsプロジェクトと開発したスマートコントラクトの紹介

こんにちは。プラスプラスの澤田です。

久しぶりのブログ記事です。

Ethereumのスマートコントラクトの開発事例として、 GoDappsというプロジェクトに参加してスマートコントラクトの開発を行いました。

www.godapps.io

今回実装したものは、GitHubでもソースコードを公開しています。(MITライセンスです。ぜひフォークしてね)

ざっくりと作ったものを説明したいと思います。(^o^)

Internal Distribution Token

GitHub - godappslab/internal-distribution-token: Implementation of Internal Distribution Token

ERC20/223ベースのトークンですが、ショッピングをしたときのポイントなどのような用途に特化した実装です。

Signature verification implementation for EIP712

GitHub - godappslab/signature-verification: Signature verification implementation for EIP712

EIP712ヒューマンリーダブルな型付署名の実装例です。

f:id:plusplus-sawada:20190315190307p:plain
署名すると Metamaskのウィンドウに内容が表示されます

この署名を利用したトークン交換の実装と、ユーザー認証の実装をスマートコントラクトで行っています。

Implementation for exchanging from Internal Distribution Token to ERC 20/223 Token

GitHub - godappslab/token-transfer: Implementation for exchanging from Internal Distribution Token to ERC20/223 Token

"Internal Distribution Token"で、利用者がオーナーにポイントの交換をしたときのイベントをトリガーに、別のERC20/223トークンを安全に配布するための仕組みを提供するスマートコントラクトです。

ERC223トーク

GitHub - godappslab/erc223-token-implementation: Implementation of ERC223 token

ERC20の上位互換のトークンです。 トークンフォールバックによる弱点にも対応した実装になっています。

今後も、暗号通貨のスマートコントラクトの開発を進めてまいります。

宜しくお願い致します。

3teneバグ潰しライフ LeapMotion編

今月も機器不安定系の問い合わせに答える為、
デスクで何やら怪しい動きをしている「軽く熊」です。
VRは終わったので不思議な踊りはしていません。

3tene絶賛不具合修正中です。
Oculus Riftの修正が終わったらと思ったら今度はLeapMotionです…。

続きを読む