どうも、DRIP エンジニアの小川です。 突然ですが Dapps ってご存知ですか? Decentralized Applications の略で、非中央集権型アプリケーション、分散型アプリケーションと呼ばれています。 ブロックチェーンを用いた分散台帳上にアプリケーションおよびデータが存在し、特定管理者が存在せず、ユーザー間で直接データをやり取りできる特徴があります。 現在では Ethereum(イーサリアム)という分散型アプリケーションプラットフォームを用いることが多く、Ðapps とも言われます。Ð は単体だと「イーサ」と読むので Ethereum の Dapps という意味ですね。 2017年末に仮想の猫をやり取りできる Web サービスが公開され一部界隈で人気になりましたが、あれも Ðapps です。 Ethereum 上で動く機械語である Ethereum Virtual Mac
作ってみました、初めてのDApps。 初めてということなので、一番簡単そうな分散型のTweet投稿サイトを作ってみました。 もちろん、MetaMaskを使用しています。 Decentralized Twitter 1. 技術スタック Vue.js 2.5.13 solidity 0.4.18 Truffle 4.0.4 zeppelin-solidity 1.8.0 MetaMask アプリケーションの雛形はtruffleの公式ページにあるvue-boxを使いました。 DAppsの開発にはReactが使われることが多いですが、個人的にVue.jsの方が好きなので、今回はこちらを使いました。 2. こだわったところ 2.1 ERC721 学習の一環として開発しようと思ったので、TweetはたんにStorageに格納するのではなく、ERC721として、トークン化しました。 pragma sol
Solidity 是一门面向合约的、为实现智能合约而创建的高级编程语言。这门语言受到了 C++,Python 和 Javascript 语言的影响,设计的目的是能在以太坊虚拟机(EVM)上运行。 Solidity 是静态类型语言,支持继承、库和复杂的用户定义类型等特性。 下面您将会看到,使用 Solidity 语言,可以为投票、众筹、秘密竞价(盲拍)、多重签名的钱包以及其他应用创建合约。 注解 目前尝试 Solidity 编程的最好的方式是使用 Remix (需要时间加载,请耐心等待)。Remix 是一个基于 Web 浏览器的 IDE,它可以让你编写 Solidity 智能合约,然后部署并运行该智能合约。 警告 因为软件是人编写的,就会有 bug,所以,创建智能合约也应该遵循软件开发领域熟知的最佳实践。这些实践包括代码审查、测试、审计和正确性证明。也请注意,有时候用户在代码方面比软件的作者
I am trying to build a small app that would rely on a private Ethereum Blockchain. I am relatively new to this and am still having a few questions about the whole process. I will try to be as clear as I can explaining the difficulties I am facing. What I have A running private blockchain, installed on a specific server (that I manage) A working synchronisation between multiple nodes A smart contra
Solidityのコードを書いたあとは、フロントエンドで反映できるようにする必要がありますが、なかなか情報が少ないのです。 今回は参考にしている人のブログや記事を備忘録としてまとめてます。 matsushin11.com サンプルと、実際にアプリを作られたことなど書いてあります。とてもわかりやすくまとめれており、大変勉強にあります。 medium.com 投票Dappsのサンプルが読めます。英語。 truffleframework.com 多くのDappsのサンプルが載っている。今はコードを眺めてます。 cryptozombies.io 進めていくとフロントエンドとの連携のレッスンがあり、わかりやすい。 この辺を参考にしています。 もしいい記事などあったらぜひ教えてください。
I'm working on a puzzle where msg.sender != tx.origin, so the implication is that the caller needs to be a contract or at least something in between the calling account. But extcodesize(caller) == 0 also needs to be true. So the caller needs to be an address or externally owned account. How can both of these be true? Can the caller's codesize ever be 0 if not an address/EOA?
[OpenZeppelin/zeppelin-solidity]のv1.3.0でのチェンジログ CrowdsaleのstartBlockがtimestampになったりと互換のない変更もあります。 クラウドセール・スマートコントラクトの性質上、一つの変更でも見逃したら大事故になりかねないので整理しました。 zeppelin-solidityの変更一覧(v1.2.0からv1.3.0) MultisigWalletを削除。gnosis/MultiSigWalletの使用を奨励 examplesディレクトリを追加 Crowdsaleのでブロックナンバーの代わりにタイムスタンプを使う(引数のstartBlock, endBlockをstartTime, endTimeに変更) FinalizableCrowdsaleからfinishMintingを削除。(クラウドセール終了時にトークンの発行を停止し
スマートコントラクトを開発をしようと開発入門の本を買ってみて勉強してみたのですが、実際にアプリを開発するためには不便すぎる&色々と悩ましい仕様が多かったので、メモがてらTipsを残しておきます。 便利な開発環境 開発入門だとデプロイの度にコマンド打ったり、ローカルのgethがコントラクトを承認するの待ったりと色々と面倒だと思っていたら、TRUFFLE(トリュフ)という開発ツールがあることを発見。 http://truffleframework.com/ TRUFFLE BOXESというDappを作るためのサンプルコードもあって便利。 フロントにReactやAngularを使ったものもある。 http://truffleframework.com/boxes/ デバッグ方法 VS Codeで開発していたらデバッグできなかった。 デバッグする時にはRemix(browser-solidity)
僕はITコンサルをしていますが、開発はほとんど外注しておりプログラミング経験は無し。基礎を何となく知っている(初心者向けの本を読んだ)程度です。 そんな僕が「Solidityを勉強したくなった理由」と「どのように勉強していく予定か?」を、本記事にまとめてみました。 イーサリアムのコントラクト言語「Solidity」を学習したい理由 今のうちに「Solidity」を学んでおきたいと思ったのは、イーサリアムに将来性を感じるから。 イーサリアムに将来性を感じる理由dApps(分散型アプリ)プラットフォームは沢山ありますが、その中でもイーサリアムは群を抜いていると思います。 2018年6月28日時点、「State of the DAPPS」によるとイーサリアムベースのdAppsが1,672個も誕生しています。 そして今後のビジネスに競争優位性を実現するために、ブロックチェーンは欠かせない存在になる
Ethereum スマートコントラクト開発日記(3) 前回は Browser-Solidity 上で単純なコントラクトを動かしました。 Browser-Solidity を開いた多くの人は最初にサンプルソースとして入っている ballot.sol を閉じるか無視するかしていると思います。せっかくだから今回は ballot.sol の動きを追っていきたいと思います。 Ballot 概要 Ballot は単純な投票のシステムを実現するスマートコントラクトです。 コントラクトを作成したアカウント(主催者)が 提案の作成 投票権の付与 を行い、投票権を各アカウントに付与する事ができます。 投票権を得たアカウント(投票者)は 投票の実行 投票の委譲(〇〇さんと同じものに投票) を行う事ができます。 そして、投票後には 投票結果(一番投票数の多い提案)の取得 ができます。以上の機能を実現する為にどう書
Your example shows storing an IPFS identity using it's alphanumeric encoding (Qm...), which is the same Base58 encoding that Bitcoin uses. However, what it's representing at its core is a number (the hash). Storing the identifier in the Base58 format needs to be a String because it includes letters (and what actually gets saved is the ASCII code for each alphanumeric character in the identifier).
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く