概要 RaidenNetworkはERC20に準拠したトークンをオフチェーンで高速に送受金できるような仕組みです。 BitCoinでいう「LignthingNetwork」のEthereum版に相当します。 低コスト、スケーラブル、プライバシーが保護される、といった特徴があります。 RaidenNe…
はじめに Solidityでは意図せずstorage領域を書き換えられてしまう可能性があります。 アクセス修飾子は関係ありません。privateな変数であっても脆弱性のあるコードを書くと簡単に書き換えられてしまいます。 今回はstorage領域が意図せず書き換えられてし…
ethernautについて ethernautはスマートコントラクトの脆弱性を発見し、攻撃するシミュレーションができるプラットフォームです。 Ethereumスマートコントラクト開発者にはお馴染みのOpenZeppelinが提供してくれています。 遊び方は簡単。脆弱性のあるスマー…
Plasma全然わかんないんですけど、チームでPlasmaについて少し話したのでその時の資料を共有します。 間違っている部分とか結構あると思うんで、なにかあればTwitterにDMなど貰えると嬉しいです。 さかた(JK) (@a1234224576a) | Twitter speakerdeck.com う…
内容 メールアドレス+パスワード認証、Facebook認証によりサインインし、AWSサービスの一時的なアクセス権限を取得する。 それを使って、DynamoDBにアクセスしてデータを取得する。 ただし、DynamoDBには自分のIDに該当するデータしか取得することはできな…
AWS KeyManagementServiceについて調査したので、そのときのメモ書きを置いておきます。 KeyManagementServiceというサービス単体で存在しているわけではないので、サービス検索でKMSなど入力しても出てこないので注意>< IAM→暗号化キーからKMSのコンソー…
なかなかuportを活用したサービス、アプリは多くないと思います。 そこで今回、upotを体験できるようなデモアプリを作ってみました。 それが、イーサリアム神社です。 アプリ自体はとても単純なものです。 uportでログインし、etherを添えて神様にお祈りする…
uPortとは uPortは個人に紐づく情報をブロックチェーン上に保存しておき、こちらが承認した相手に対してのみ一部を公開するといった仕組みを実現するものになります。 例えば、今までなら住所などの個人情報をAmazon、楽天、その他ECサイト全てにおいて提供…
最近ERC20とERC721の実装をしたので、次はクライアントサイドの実装も一通り試したいと思いまして、簡単なEthereumのウォレットアプリを実装しました。 今回JavaScriptフレームワークはVue.jsを採用したんですが、大した理由はなく、触った事がなかったので…
ERC721は価値の交換が不可能なトークン。詳細は他の記事で。 NFT(Non Fungible Token)という略称を使います。 EIPはこちら。最近(一月前くらい?)StatusがFinalになったようです! EIPs/eip-721.md at master · ethereum/EIPs · GitHub 今回も学習のため自…
この記事の内容 ・ERC20に準拠したトークンを実装して、テストを書いた ・どうやらERC20には脆弱性があるらしいのでそれについても調べた ・最後にRopstenテストネットワークにトークンをデプロイした 概要 OpenZeppelinを使えば簡単にERC20に準拠したトーク…
ネストしたモナドの取り扱い モナドがネストして帰ってくることがあります。 例えば、DBに接続してユーザレコードを取り出す時、DBに接続できたかどうかを表すEither、該当のユーザがいたかどうかを表すOptionのモナドがネストして帰ってくるケースを考えて…
昨日から色々あってGo langで開発をはじめました。 超にわかですが、気づいたことやハマったことなどあれば備忘録を残しておこうと思います。 今回は、gormを使ってBelongToの関係にあるFishモデルとWaterAreeモデルのリレーションを組んでみます。 github.c…
Functional Programming in ScalaのExercise6.11の問題をStateモナドを使用して解いてみます。 問題設定 スナックの自動販売機をモデリングする有限状態オートマトンを実装する。 この自動販売機は2種類の入力を受け付ける。 1つは硬貨の投入、もう1つはハン…
Stateモナドについてざっくりと。 状態の変化を伴うミュータブルな計算をFunctional Programmingのコンテキストで表現可能にしたもの。 catsにおけるStateモナドのapplyメソッドのシグネチャは以下のようになっています def apply[S, A](f: S => (S, A)): St…