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
TakeshiNishi
September 22, 2018
Technology
2.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue.jsとSolidityでDapps
Vue.js(Nuxt)とSolidity(Truffle、zeppelin-solidity)でDapps開発
TakeshiNishi
September 22, 2018
More Decks by TakeshiNishi
See All by TakeshiNishi
LT駆動開発 - 話題のChatGPTで何か作る
takec24
0
200
成長ステージ別のスタートアップ集結!「事業の魅力とチームの本音」
takec24
0
170
Developing FLAPTALK by Firebase
takec24
1
450
NuxtCompositionAPIとFirebaseの話
takec24
1
540
コロナ禍でもリモート案件を途切れさせない! 案件の獲得方法とリモート案件の進め方。
takec24
0
410
フロントエンドエンジニアのためのFirebaseサーバーレス開発徹底解説
takec24
0
1.3k
スタートアップで働くというエンジニアキャリア
takec24
1
1.3k
人生を変えた炎上ブロジェクト
takec24
0
1.6k
好きなことを選び続けたら代表取締役CTOになりました。
takec24
3
1.4k
Other Decks in Technology
See All in Technology
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
590
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
290
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
340
NDIAS CTF 2026 問題解説会資料
bata_24
0
170
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
230
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
250
cccccc
moznion
0
1.6k
HookでSAST、CIでSAST、SCAでどうにかしている話 / layered-security-for-ai-written-code-with-sast-and-sca
yamaguchitk333
0
100
5分でわかる Amazon Connect_20260608
hwangbyeonghun
0
170
ご挨拶「10周年を迎える共創ラボのこれまでとこれから」
iotcomjpadmin
0
180
RAGの精度向上とエージェント活用
kintotechdev
2
120
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
450
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
410
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
760
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The agentic SEO stack - context over prompts
schlessera
0
840
Build your cross-platform service in a week with App Engine
jlugia
234
18k
It's Worth the Effort
3n
188
29k
Odyssey Design
rkendrick25
PRO
2
720
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 ੈքதͷ“Ή͔͍ͣ͠”Λ ؆୯ʹ