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
MCH+ Hackathon #1
Search
Ryo Manzoku
August 09, 2019
Programming
0
300
MCH+ Hackathon #1
Ryo Manzoku
August 09, 2019
Tweet
Share
More Decks by Ryo Manzoku
See All by Ryo Manzoku
ブロックチェーンゲーム開発におけるチェーンの選び方 / How to select a blockchain for BCG
rmanzoku
0
540
NFTを取り巻く技術要素とAWS利活用 / Technology and AWS of NFT
rmanzoku
0
910
NFTを中心とした新しいゲームの形 / The new approach of gaming with NFT
rmanzoku
0
410
NFTへの招待 / Invitation to NFT
rmanzoku
0
1.5k
Stringをどうにかする / Managing Solidity String
rmanzoku
0
1.3k
ブロックチェーン時代の認証 / Authentication in the Blockchain Era
rmanzoku
8
3.1k
ERC-721をかぞえて / Enumerate ERC-721
rmanzoku
3
8.1k
AWS上で動く世界No.1ブロックチェーンゲーム / No1 Blockchain Game on AWS
rmanzoku
1
2.9k
ブロックチェーンゲームMyCryptoHeroesの作り方 / Architecture of My Crypto Heroes
rmanzoku
2
4.8k
Other Decks in Programming
See All in Programming
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
210
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
6
4k
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
120
color-scheme: light dark; を完全に理解する
uhyo
5
390
SwiftUIで単方向アーキテクチャを導入して得られた成果
takuyaosawa
0
270
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
14k
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
910
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
120
Introduction to kotlinx.rpc
arawn
0
700
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
110
Featured
See All Featured
Scaling GitHub
holman
459
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
A designer walks into a library…
pauljervisheath
205
24k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Language of Interfaces
destraynor
156
24k
The Pragmatic Product Professional
lauravandoore
32
6.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Music & Morning Musume
bryan
46
6.3k
Navigating Team Friction
lara
183
15k
Transcript
Hackathon #1 ٕज़ใ 2019-08-10 MCH+ Hackathon #1 double jump.tokyoגࣜձࣾ ϦʔυΤϯδχΞ
ຬ ྄
• My Crypto HeroesΛ͍ͬͯΔਓʁ • ERC-721ΛࣗͰൃߦͨ͜͠ͱͷ͋Δਓʁ • ϚΠΫϦͷAPIΛ৮ͬͨ͜ͱͷ͋Δਓʁ • MCH+ͷAPIΛ৮ͬͨ͜ͱͷ͋Δਓʁ
࣭
ʹ͍ͭͯ
• ʮήʔϜʹ͔͚͓ͨ࣌ؒۚɺ͋ͳͨͷࢿ࢈ͱͳΔੈ քʯͷ֦େΛࢦͯ͠ • NFT͕ήʔϜͱήʔϜΛඈͼӽ͑Δੈք؍ͷ࣮ݱʹΉ͚ͯ • MyCryptoHeroesͷϊϋΛϑϨʔϜϫʔΫͱͯ͠ఏڙ͢Δϒ ϩοΫνΣʔϯήʔϜ։ൃࢧԉϓϩάϥϜ MCH+ͱ
• ϒϩοΫνΣʔϯήʔϜͷಛͱͯ͠ʮೋ࣍ྲྀ௨ࢢʯͱʮෳ αʔϏεؒͰͷ൚༻ੑʯ͕ॏཁͰ͋Δ • ෳ༻్͕͋Δ͜ͱͰͦͷσδλϧΞηοτͷՁ͕͋Δ • ݱࡏʮೋ࣍ྲྀ௨ࢢʯͱͯ͠ͷ໘͕େ͖͍ • ʮෳαʔϏεؒͰͷ൚༻ੑʯ͕͋Δ͜ͱͰɺσδλϧΞηο τͷՁ૬ޮՌͰ্͕͍ͬͯ͘
ͳͥMCH+ΛਐΊΔͷ͔
ʮMCH+ʯ͕ఏڙ͢ΔࢧԉϓϩάϥϜ ։ൃࢧԉ ΤίγεςϜ ߏஙࢧԉ ϑΝΠφϯε ࢧԉ ਓࡐҭࢧԉ ϒϩοΫνΣʔϯήʔϜͷ։ൃϊϋ͕ͳͯ͘ɺ ظؒͰຊ֨తͳϒϩοΫνΣʔϯήʔϜΛ ։ൃ͢Δ͜ͱ͕Ͱ͖ΔΑ͏ʹ
• ϒϩοΫνΣʔϯʹΑΓσδλϧΞηοτͷʮॴ༗ใʯͱ ʮৡʯΛѻ͏͜ͱ͕Ͱ͖Δ • σδλϧΞηοτΛݸਓ͕ʮॴ༗ʯՄೳ • σδλϧΞηοτΛॴ༗ऀ͕ʮৡʯՄೳ • ʮॴ༗ʯͰ͖Δ͜ͱͰαʔϏεʹͱΒΘΕͣʮෳαʔϏεؒ Ͱͷ൚༻ੑʯΛ࣋ͯΔ
• ʮৡʯͰ͖Δ͜ͱͰʮೋ࣍ྲྀ௨ࢢʯ͕ੜ·ΕΔ ϒϩοΫνΣʔϯʹΑΔΤίϊϛʔ
• ϒϩοΫνΣʔϯͰաڈͷใͷվ͟ΜࠔͰෆՄٯ • ݱ࣮ੈքʹ͓͚Δ࣌ؒͷྲྀΕͱಉ͡ • ϒϩοΫνΣʔϯͰॴ༗ใ͕͋Δ͜ͱͰݸਓͷࣗ༝ʹѻ͑Δ • ݱ࣮ੈքʹ͓͚ΔϞϊͷॴ༗ͱಉ͡ • αʔϏεఏڙऀʹΑΔཧ͕ࠔʹͳΔ
• ϒϩοΫνΣʔϯʹΑͬͯΠϯλʔωοτݱ࣮ੈքʹ͍ۙͮͨ ϒϩοΫνΣʔϯ ʰϦΞϧʱ
• ήʔϜΞΠςϜΛϒϩοΫνΣʔϯʹΑͬͯʮॴ༗ʯ • ࣗͷͷͰ͋Δͱ͍͏طଘήʔϜʹͳ͍ମݧ • σδλϧΞηοτͷϢʔβʔؒৡ • Ϣʔβʔओ࠵ͷاըϓϨθϯτɺॳ৺ऀ༑ਓͷϓϨθϯτ • σδλϧΞηοτͷՁ
• σδλϧΞηοτऔҾॴʹΑΔࣗ༝ͳऔҾ σδλϧΞηοτΤίϊϛʔ
Non-Fungile Token
• CryptoKittiesͷϦϦʔεΛൽΓʹσδλϧΞηοτʹ͍ͭͯΓ ্͕ΓΛݟ͍ͤͯΔ • CryptoKittiesνʔϜʹΑͬͯNon-Fungible TokenʢNFTʣඇସੑ τʔΫϯͱ͍͏֓೦͕ੜΈग़͞Εͨ • NFTͷ༷ͱͯ͠ERC-721͕ࡦఆ͞Εɺ࣮༻Խ͞Εͨ •
NFTΞΠίϯ࡞ͬͨͷͰΈΜͳͬͯͶʂ NFTͷొ
ඇସੑͱʁ • ྔΛѻ͏τʔΫϯ → ସτʔΫϯ • ௨՟ͳͲ1ͭ1ͭͷՁͷಉ͡ͷΛѻ͏ • ʮ1ສԁࡳԿຕ͋ͬͯ1ຕ1ຕಉ͡ՁΛ࣋ͭʯ •
ERC-20 / ERC-777 / ERC-1155 ૉࡐ: https://www.photock.jp • ࣭Λѻ͏τʔΫϯ → ඇସτʔΫϯ (NFT) • 1ͭ1ͭͷՁ͕ҧ͏ϞϊΛڞ௨ʹѻ͏ • ʮೣೣͰɺ͏ͪͷϛέͱ͓ྡͷλϚҧ͏ʯ • ERC-721 / ERC-1155
• EthereumͰNFTΛ࣮ݱ͢Δݱ࣮తͳඪ४༷ • ʮॴ༗ใʯʮৡʯʮৡݖͷҠৡʯΛنఆ͍ͯ͠Δ • ඪ४༷Ͱ͋ΔͨΊɺERC-721Λ࠾༻ͨ͠ήʔϜɺαʔϏεɺ औҾॴͰՃ։ൃແ͠Ͱར༻Ͱ͖ΔΑ͏ʹͳΔ • ERC-721Λ࣮ͨ͠ =
NFT ͱͳΔΘ͚Ͱͳ͍͜ͱΛҙ • ͦͷՁMetadataʹΑΓࢀরͰ͖Δ ERC-721ͱ
ERC-721ʹΑΔΤίγεςϜ NFTΛදࣔ NFTऔҾॴ ERC-721Λ࣮ NFTήʔϜ
• BlockpunkࣾʹΑΔݶఆ൛ϏσΦτʔΫϯ • ΠϕϯτࢀՃऀͷͨΊͷه೦τʔΫϯ ଟ༷ͳ֦͕ΓΛ࣋ͭNFT/ERC-721
• σδλϧΞηοτͷՁΛࢀর͢Δػೳͱͯ͠ɺERC-721 Metadata͕نఆ͞Ε͍ͯΔʢEIP-1047ʹͯఏҊʣ • Ethereum্ʹσδλϧΞηοτʹؔ͢ΔϝλใΛࢀরͰ͖Δ URLΛॻ͖ࠐΈ͜ͱ͕Ͱ͖Δ • NFTऔҾॴWalletMetadataΛ௨ͯ͠σδλϧΞηοτͷใ Λࢀর͍ͯ͠Δ •
σδλϧΞηοτͷՁMetadataΛ௨ͯ͠ࢀর͞Ε͍ͯΔ ERC-721 Metadataͱ
• Hero: ӡӦ͘͠ࢢ͔Βߪೖ͢ΔɻΫΤετPvPʹར༻ ͢Δ • Extension: ΫΤετΫϦΞ࣌͘͠ࢢ͔Βߪೖ͢ΔɻHero ʹඋͤ͞ΫΤετPvPʹར༻͢Δ • LandSector:
ӡӦ͘͠ࢢ͔Βߪೖ͢ΔήʔϜࠃՈͷ Φʔφʔɻ্ҐऀKingͱͳΓϢʔβʔΛಋ͘ MyCryptoHeroesͷNFT
ERC721ΛͬͨHero / Extension / LandSectorͷEthereum্ͷ Asset Ethereum্Ͱͷॴ༗ใΛӡӦॴ༗ͷGatewayίϯτϥΫτʹ ༬͚Δ͜ͱͰɺCryptoWorldʢήʔϜʣͰར༻ՄೳʹͳΔ ʢLandSectorྫ֎ʣ MetadataΛؚΉήʔϜͷใҰ෦ެ։APIΛ௨ͯ͠ࢀরͰ͖
Δ MyCryptoHeroesͰͷERC-721
MyCryptoHeroesͷߏཁૉ &UIFSFVN 6TFS ϢʔβʔECDSAॺ໊༻ͷൿີ伴ͱ ରʹͳΔΞυϨεΛॴ༗ ήʔϜࢿ࢈ɺEthereum্Λਖ਼ͱͯ͠ཧ ॴ༗ใɺϢʔβʔͷΞυϨεʹ͋Δ ॴ༗ใΛ֬ೝ ήʔϜࢿ࢈Λ༻͍ͯήʔϜͰ༡Ϳ ࢿ࢈ΛҭͯΔ
MyCryotoHeroesͰ ɾήʔϜࢿ࢈Λͬͨ༡ͼͷఏڙ ɾETHʹΑΓήʔϜ௨՟Λൢച ɾ৽͍͠ήʔϜࢿ࢈ͷ༩ɺൢച ɾήʔϜࢿ࢈ΞʔτΛ༩
ϢʔβʔήʔϜʹUserIDΛ͍࣋ͬͯΔ UserIDͱEthereumΞυϨεΛඥ͚ͮͯཧ͍ͯ͠Δ EthereumΞυϨεΛެ։͢ΔػೳʹΑΓɺ༗ޮͳϢʔβʔ EthereumΞυϨε͔ΒϢʔβʔใΛऔಘͰ͖Δ MyCryptoHeroes͓͞Β͍
• Ethereum্ͰσδλϧΞηοτΛѻ͏߹ʹσϑΝΫτͱͳΓ ͭͭ͋ΔNFTͱ͍͏֓೦ͱ • ੈքʹ1ͭͰ͋ΔσδλϧΞηοτNFTͱϒϩοΫνΣʔϯʹΑ Δʮॴ༗ʯ૬ੑ͕Α͍ • ମݧͨ͜͠ͱͷ͋Δਓʹ͔͠Θ͔Βͳ͍ʮॴ༗ײʯ • طଘͷήʔϜʹΕͳ͍ڧͳମݧ
• NFTͷՁօͰߴΊ͍͖͍ͯͨ NFT͕࣠ͱͳΔੈք
Hackathon
• ERC-721Ͱنఆ͞Ε͍ͯΔMetadataΛMCH+Ͱ֦ு͢Δͷ • MetadataΛ௨ͯ͠σδλϧΞηοτͷՁΛ֬ೝ͍ͯ͠Δ • σδλϧΞηοτͷՁɺൃߦऀ͚ͩͰͳ͘୭ͰొͰ ͖Δ͖ • Ձɺϝλσʔλެ։伴҉߸ͷॺ໊ʹΑΓ୭͕ొ͔ͨ͠Λ อূ
• ΞηοτՁͷΦʔϓϯԽΛ࣮ݱ ֦ுϝλσʔλ
• https://explorer.mch.plus • NFTΛͬͨήʔϜ/αʔϏε։ൃऀͷͨΊͷNFT Explorer • Hackathonʹͯα൛ެ։ʂ • ֦ுϝλσʔλΛWebͰ؆୯ʹొɺ֬ೝͰ͖Δ •
ઈࢍ։ൃதɻػೳืूதʂ NFT Explorer
• NFTʹ୭ͰՁΛొͰ͖Δ͜ͱʹΑΓ • ྫ͑ࣗ࡞ήʔϜͷύϥϝʔλΛMCHͷώʔϩʔʹ༩Ͱ͖Δ • NFTʹࢥ͍ग़ͷϝοηʔδΛॻ͖ࠐΊΔ • MCH+ͱͯ͠ɺϚΠΫϦΞηοτΛελʔλʔʹͯ͠ήʔϜ Λ࡞ͬͯΒ͍͍ͨ •
কདྷతʹϚΠΫϦMCH+ͷҰ෦ʹ ֦ுϝλσʔλʹΑΔૂ͍
• MCH+API • https://docs.mch.plus/ • MCH+Ͱఏڙ͢ΔAPIυΩϡϝϯτ • MCH API •
https://my-crypto-heroes.gitbook.io/mch-api/ • ϚΠΫϦେͷσʔλΛΦϑνΣʔϯͰཧ͍ͯ͠ΔͨΊ ͦͷσʔλΞΫηε͢ΔͨΊͷAPIυΩϡϝϯτ ֤छAPIϦϯΫ
• CryptoSpells Metadata • https://cryptospells.jp/metadata/card/9ܻID.json • CryptoSpellsͷMetadataͰ͢ʂ ֤छAPIϦϯΫ
RE-BUILDING THE FUTURE OF GAMING WITH BLOCKCHAIN TECHNOLOGY !!