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
290
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
510
NFTを取り巻く技術要素とAWS利活用 / Technology and AWS of NFT
rmanzoku
0
890
NFTを中心とした新しいゲームの形 / The new approach of gaming with NFT
rmanzoku
0
400
NFTへの招待 / Invitation to NFT
rmanzoku
0
1.5k
Stringをどうにかする / Managing Solidity String
rmanzoku
0
1.2k
ブロックチェーン時代の認証 / Authentication in the Blockchain Era
rmanzoku
8
2.9k
ERC-721をかぞえて / Enumerate ERC-721
rmanzoku
3
7.9k
AWS上で動く世界No.1ブロックチェーンゲーム / No1 Blockchain Game on AWS
rmanzoku
1
2.9k
ブロックチェーンゲームMyCryptoHeroesの作り方 / Architecture of My Crypto Heroes
rmanzoku
2
4.7k
Other Decks in Programming
See All in Programming
Google Sign-inの移行から始めるCredential Manager活用
clockvoid
0
310
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
160
Rubyのobject_id
qnighy
6
1.3k
Using Livebook to build and deploy internal tools @ ElixirConf 2024
hugobarauna
0
250
How to Break into Reading Open Source
kaspth
2
220
僕が思い描くTypeScriptの未来を勝手に先取りする
yukukotani
9
2.4k
Securify_エンジニア採用資料
3shake
0
100
Composing an API the *right* way (Droidcon New York 2024)
zsmb
2
100
GoのIteratorに詳しくなってしまう
inatonix
1
200
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
0
320
意外とフォントが大事だった話 / Font Issues on Internationalization
fumi23
0
110
Crafting Cross-Platform Adventures: Building a Game Engine with Kotlin Multiplatform
dwursteisen
0
120
Featured
See All Featured
It's Worth the Effort
3n
182
27k
How STYLIGHT went responsive
nonsquared
93
5.1k
Automating Front-end Workflow
addyosmani
1365
200k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
RailsConf 2023
tenderlove
28
810
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Designing for Performance
lara
604
68k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
Making the Leap to Tech Lead
cromwellryan
128
8.8k
Adopting Sorbet at Scale
ufuk
73
8.9k
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 !!