Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Vue.jsとSolidityでDapps
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
TakeshiNishi
September 22, 2018
Technology
0
2.4k
Vue.jsとSolidityでDapps
Vue.js(Nuxt)とSolidity(Truffle、zeppelin-solidity)でDapps開発
TakeshiNishi
September 22, 2018
Tweet
Share
More Decks by TakeshiNishi
See All by TakeshiNishi
LT駆動開発 - 話題のChatGPTで何か作る
takec24
0
190
成長ステージ別のスタートアップ集結!「事業の魅力とチームの本音」
takec24
0
150
Developing FLAPTALK by Firebase
takec24
1
430
NuxtCompositionAPIとFirebaseの話
takec24
1
520
コロナ禍でもリモート案件を途切れさせない! 案件の獲得方法とリモート案件の進め方。
takec24
0
390
フロントエンドエンジニアのためのFirebaseサーバーレス開発徹底解説
takec24
0
1.3k
スタートアップで働くというエンジニアキャリア
takec24
1
1.2k
人生を変えた炎上ブロジェクト
takec24
0
1.6k
好きなことを選び続けたら代表取締役CTOになりました。
takec24
3
1.4k
Other Decks in Technology
See All in Technology
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
300
Oracle Cloud Observability and Management Platform - OCI 運用監視サービス概要 -
oracle4engineer
PRO
2
14k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
230
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
生成AIを活用した音声文字起こしシステムの2つの構築パターンについて
miu_crescent
PRO
2
200
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
5
5.5k
AzureでのIaC - Bicep? Terraform? それ早く言ってよ会議
torumakabe
1
560
GitLab Duo Agent Platform × AGENTS.md で実現するSpec-Driven Development / GitLab Duo Agent Platform × AGENTS.md
n11sh1
0
140
AI駆動PjMの理想像 と現在地 -実践例を添えて-
masahiro_okamura
1
110
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
360
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
68k
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
2.3M
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
66
Marketing to machines
jonoalderson
1
4.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
82
エンジニアに許された特別な時間の終わり
watany
106
230k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
Being A Developer After 40
akosma
91
590k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
170
How to Ace a Technical Interview
jacobian
281
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
330
Transcript
diffeasy. inc 7VFKTͱ4PMJEJUZͰ%BQQT !@UBLFTIJ@
diffeasy. inc 2 /VYU 'JSFCBTF 7VF Թઘ ಡॻ (PMBOH 3VCZ
($1 ϒϩοΫνΣʔϯ إೱ͍ גࣜձࣾEJ⒎FBTZ σΟϑΟʔδʔ औక$50 ࢙ ʹ͚ͨ͠͠ !@UBLFTIJ@ EPDLFS
diffeasy. inc 3 ੈքதͷlΉ͔͍ͣ͠zΛ؆୯ʹ NBLFEJ⒏DVMUUIJOHTFBTZ
diffeasy. inc 4 ඪୡ Ϛϯμϥʔτ
diffeasy. inc 7VFKTͱ4PMJEJUZͰ%BQQT !@UBLFTIJ@
diffeasy. inc 6 lΉ͔͍ͣ͠zݴ༿Λ؆୯ʹઆ໌
diffeasy. inc 7 %BQQT ʹ%FDFOUSBMJ[FE"QQMJDBUJPOT ʹࢄܕΞϓϦέʔγϣϯ %BQQTͱʁ
diffeasy. inc 8 4PMJEJUZͱʁ &UIFSFVN্Ͱಈ͘ +BWB4DSJQUϥΠΫͳ εϚʔτίϯτϥΫτ։ൃݴޠ
diffeasy. inc 9 8FC ϒϩοΫνΣʔϯ Γ͍ͨߏ
diffeasy. inc 10 ϒϩοΫνΣʔϯ ࠓ͜͜ͷ
diffeasy. inc ͱΓ͋͑ͣσϞ 11
diffeasy. inc 12 Ծ௨՟Λൃߦ
diffeasy. inc w εϚʔτίϯτϥΫτͷ։ൃɺσϓϩΠɺ ςετɺϚΠάϨʔγϣϯ w &UIFSFVNͰτʔΫϯͷൃߦ 13 OpenZeppelin TruffleϑϨʔϜϫʔΫ
diffeasy. inc 14 truffleϑϨʔϜϫʔΫΛΠϯετʔϧ $ npm install -g truffle truffleϑϨʔϜϫʔΫॳظԽ
$ truffle init zeppelin-solidityΛΠϯετʔϧ $ npm install zeppelin-solidity --save Πϯετʔϧ
diffeasy. inc 15 &3$४ڌͷ τʔΫϯ ίϯτϥΫτ ΛσϓϩΠ͢Δ ϚΠάϨʔγϣϯ ϑΝΠϧ
diffeasy. inc 16 pragma solidity ^0.4.18; import "zeppelin-solidity/contracts/token/ERC20/ StandardToken.sol"; contract
DiffeasyCoin is StandardToken { string public constant name = "DiffeasyCoin"; string public constant symbol = "DEC"; uint8 public constant decimals = 18; constructor(uint256 _initialSupply) public { totalSupply_ = _initialSupply; balances[msg.sender] = _initialSupply; emit Transfer(0x0, msg.sender, _initialSupply); } } %J⒎FBTZ$PJOTPM
diffeasy. inc 17 const DiffeasyCoin = artifacts.require('./DiffeasyCoin.sol') module.exports = (deployer)
=> { const initialSupply = 50000e18 deployer.deploy(DiffeasyCoin, initialSupply) } @EFQMPZ@EJ⒎FBTZ@DPJOKT
diffeasy. inc 18 $ truffle develop Truffle Develop started at
http://127.0.0.1:9545/ Accounts: (0) 0x627306090abab3a6e1400e9345bc60c78a8bef57 (1) 0xf17f52151ebef6c7334fad080c5704d77216b732 (2) 0xc5fdf4076b8f3a5357c5e395ab970b5b54098fef (3) 0x821aea9a577a9b44299b9c15c88cf3087f3b5544 (4) 0x0d1d4e623d10f9fba5db95830f7d3839406c6af2 (5) ɾɾɾɾ Private Keys: (0) c87509a1c067bbde78beb793e6fa76530b6382a4c0241e5e4a9ec (1) ae6ae8e5ccbfb04590405997ee2d52d2b330726137b875053c36d (2) 0dbbe8e4ae425a6d2687f1a7e3ba17bc98c673636790f1b8ad911 (3) c88b703fb08cbea894b6aeff5a544fb92e78a18e19814cd85da83 (4) 388c684f0ba1ef5017716adb5d21a053ea8e90277d0868337519f (5) ɾɾɾɾ ։ൃ༻ͷ&UIFSFVNڥΛىಈ
diffeasy. inc 19 ϑϩϯτΤϯυͱ࿈ܞ
diffeasy. inc 20 NuxtΛΠϯετʔϧ $ vue init nuxt-community/starter- template front
Web3.jsΠϯετʔϧ $ npm install web3 @types/node truffle-contract --save Πϯετʔϧ
diffeasy. inc 21 &UIFSFVNͱଓ import Web3 from 'web3' const web3
= new Web3(new Web3.providers.HttpProvider ("http://127.0.0.1:9545/")) if (typeof web3.currentProvider.sendAsync !== "function") { web3.currentProvider.sendAsync = function() { return web3.currentProvider.send.apply( web3.currentProvider, arguments ); }; } export default web3 QMVHJOTXFCKT
diffeasy. inc 22 &UIFSFVN্ͷΞΧϯτϦετऔಘ web3.eth.getAccounts() ΞΧϯτͷԾ௨՟ߴऔಘ const dec = contract(DiffeasyCoin)
dec.setProvider(web3.currentProvider) const instance = await dec.deployed() const balances ɹɹɹ= awaitɹinstance.balanceOf(account) XFCΛͬͯ&UIFSFVNͱଓ
diffeasy. inc 23 "͔Β#ʹԾ௨՟औҾ const dec = contract(DiffeasyCoin) dec.setProvider(web3.currentProvider) const
instance = await dec.deployed() await instance.transfer ɹɹɹɹɹ(to, balance, { from: from }) XFCΛͬͯ&UIFSFVNͱଓ
diffeasy. inc 24 ϒϩοΫνΣʔϯ ར༻ͨ͠αʔϏε৭ʑ
diffeasy. inc 25 ετϨʔδ ࿀Ѫ Ξʔτ Իָ
diffeasy. inc ຊʹϒϩοΫνΣʔϯ ͕ඞཁ͔ʁ 26
diffeasy. inc w தԝूݖతͳཧऀ͕͍ͳ͍͜ͱ ͕ຊʹྑ͍͔ʁ w վ͟Μʢमਖ਼ʣ͕ࠔͳ͜ͱ͕ ຊʹྑ͍͔ʁ 27
diffeasy. inc w σʔλ͕ίϐʔͰ͖ͳ͍Θ͚Ͱ ͳ͍ w ӡӦऀͷ৴པੑ͕ॏཁͳϙΠϯτ ͔ʁ 28
diffeasy. inc 29 ੈքதͷ“Ή͔͍ͣ͠”Λ ؆୯ʹ