ブロックチェーンゲームMyCryptoHeroesの作り方 / Architecture of My Crypto Heroes

ブロックチェーンゲームMyCryptoHeroesの作り方 / Architecture of My Crypto Heroes

AWS Summit Tokyo Startup Architecture Of The Year 2019

3383368c2bd31bbc7cc9c6043e335e09?s=128

Ryo Manzoku

June 13, 2019
Tweet

Transcript

  1. 1.

    S U M M I T © 2019, Amazon Web

    Services, Inc. or its affiliates. All rights reserved. ϒϩοΫνΣʔϯήʔϜ
 ͷ࡞Γํ ຬ଍ ྄ ϦʔυΤϯδχΞ double jump.tokyoגࣜձࣾ
  2. 2.
  3. 3.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T My Crypto Heroesͱ͸ • ʮήʔϜʹ͔͚ͨ࣌ؒ΋͓ۚ΋৘೤΋ɺ͋ͳͨͷࢿ࢈ͱͳΔੈքʯ • ྺ্࢙ͷώʔϩʔΛूΊɺΞΠςϜΛ֫ಘ͠ɺότϧ͢ΔϒϩοΫνΣ ʔϯRPGήʔϜ • ϒϩοΫνΣʔϯEthereum͓Αͼ෼ࢄετϨʔδIPFSΛར༻͠ɺήʔ Ϝࢿ࢈ͷඇதԝूݖੑΛ࣮ݱ • ϒϩοΫνΣʔϯͷ՝୊Ͱ͋ΔεέʔϥϏϦςΟͱUXͷղܾͷͨΊήʔ Ϝͱͯ͠ͷػೳ͸AWS্ʹߏங
  4. 4.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T My Crypto Heroesͱ͸
  5. 5.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T ͳͥϒϩοΫνΣʔϯΛ࢖͏ͷʁ • ϒϩοΫνΣʔϯͷήʔϜࢿ࢈ͷʮॴ༗৘ใʯ͸Ϣʔβʔͷ΋ͷ • ࣗ༝ʹऔҾɺৡ౉͕Մೳ • ήʔϜͷ࿮Λඈͼӽ͑ͯʮॴ༗৘ใʯΛ׆༻Ͱ͖Δ • ೝূɺܾࡁͷϓϥοτϑΥʔϜ͕ख਺ྉͳ͠Ͱར༻Ͱ͖Δ • Ձ஋ͷ͋ΓํΛม͑ΔʮϒϩοΫνΣʔϯٕज़ʯΛ༻͍ͯήʔϜͷະདྷ ΛϦϏϧυ͢Δͱ͍͏ձࣾͷϛογϣϯ
  6. 6.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T &UIFSFVN 6TFS Ϣʔβʔ͸ECDSAॺ໊༻ͷൿີ伴ͱ ରʹͳΔΞυϨεΛॴ༗ ήʔϜࢿ࢈͸ɺEthereum্Λਖ਼ͱͯ͠؅ཧ ॴ༗৘ใ͸ɺϢʔβʔͷΞυϨεʹ͋Δ ॴ༗৘ใΛ֬ೝ ήʔϜࢿ࢈Λ༻͍ͯήʔϜͰ༡Ϳ ࢿ࢈ΛҭͯΔ MyCryotoHeroesͰ͸ ɾήʔϜࢿ࢈Λ࢖ͬͨ༡ͼͷఏڙ ɾETHʹΑΓήʔϜ಺௨՟Λൢച ɾ৽͍͠ήʔϜࢿ࢈ͷ෇༩ɺൢച ɾήʔϜࢿ࢈΁ΞʔτΛ෇༩ My Crypto Heroesͷߏ੒ཁૉ
  7. 7.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T γεςϜΞʔΩςΫνϟ 6QMPBEUP*1'4 4 &UIFSFVN *1'4 *NBHFVQMPBE 8FC "VSPSB /-# 6TFS #BUDI 71$ 1SPYZ 4FOEUY .POJUPSJOH
 &UI $%/ 4FOEUY 4UBUJDEBUB
 0MEEBUB 1SPYZ
  8. 8.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T γεςϜΞʔΩςΫνϟ User ʢWebΞϓϦʣ Web Nginx ɾTLS-termination ɾgRPC-Web proxy ɾL7 Routing SPA ɾNuxt.js ɾWeb3.js ɾgRPC-Web ɾCore-service (Go/gRPC) ɾAuth-service (Go/echo) ɾUploader-service (Go/echo) ɾEth-proxy-service (Go/echo) ɾAmazon S3 Microservices (Systemd)
  9. 9.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T ͜ͷΞʔΩςΫνϟΛ࠾༻͍ͯ͠Δཧ༝ • ϒϩοΫνΣʔϯɺgRPCͱ͍͏৽نྖҬʹඈͼࠐΉʹ͋ͨΓɺͦΕҎ֎ ͸࣮੷ͱ৴པͷ͋ΔAWSΛ࢖͏͜ͱͰ৽نྖҬʹूத͕Ͱ͖Δ • AuroraɺS3ɺLambda͸ܦݧ্ɺ৴པͱ࣮੷͕͋ͬͨ • SPAΛ࠾༻ͨ͜͠ͱ΍όοΫΤϯυͷଟ༷ͳॲཧΛҰݩ؅ཧ͢ΔͨΊɺ NLBΛར༻͠ɺNginxΛL7ϧʔλͱͯ͠࠷େݶ׆༻͍ͯ͠Δ • Nginx͔ΒόοΫΤϯυ΁ͷ௨৴ͷෆ҆ཁૉΛۃྗ΁Βͨ͢Ίɺίϯς φͳͲ͸ར༻ͤͣಉҰΠϯελϯε಺ʹඞཁͳαʔϏεΛ͢΂ͯىಈ ͍ͤͯ͞Δ
  10. 10.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T Well Architected ͳ 5 ͭͷϙΠϯτ • ৴པੑ: ՝ۚ෦෼͸͢΂ͯϒϩοΫνΣʔϯ্Ͱܾࡁ • ηΩϡϦςΟ: ެ։伴҉߸Λ࢖ͬͨFIDOΛ࣮ݱ • ӡ༻্ͷ༏लੑ: AuroraετϨʔδͷࣗಈ֦ுʹΑΔ҆৺ײ/ෛ୲ͷܰݮ • αʔόίετ࠷దԽ: ૿Ճ͠ଓ͚ΔҰ෦ϩάσʔλʹؔͯ͠Aurora͔Β S3ʹίϐʔ͠ɺΞϓϦέʔγϣϯ͔ΒS3Λ௚઀ࢀর • ։ൃίετ࠷దԽ: ϑϩϯτΤϯυͱόοΫΤϯυ͸Protobuf͔Βੜ੒͞ ΕͨϥΠϒϥϦΛ௨ͯ͡௨৴
  11. 11.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T Well ArchitectedͳύϑΥʔϚϯε • gRPC-WebΛ࠾༻ͨ͜͠ͱͰHTTP/2Λ࠷େݶར༻ͨ͠ฒྻΞΫηε • ProtobufΛͦͷ··JSONܕʹอଘɺΠϯσοΫε͕ඞཁͳσʔλͷΈ ݸผͷΧϥϜΛ࡞੒ • ΞϓϦέʔγϣϯ͔ΒDB΁ͷJOINΫΤϦ͸Ұ੾ͳ͠ • কདྷͷεέʔϦϯά΋ࢹ໺ʹ • ֎෦ཁૉͰ͋ΔIPFS΁ͷը૾Ξοϓϩʔυ͸ɺS3 PutEventΛτϦΨʔ ʹLambdaͰඇಉظॲཧ • ETH΁ͷΞΫηεΛҰ෦αʔόͰϓϩΩγ͢Δ͜ͱͰUXվળ
  12. 12.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T gRPC-WebʹΑΔฒྻΞΫηε
  13. 13.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T ΞΫηεϨΠςϯγ
  14. 14.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T DBʹ͓͚ΔSelect Latency
  15. 15.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T ΞʔΩςΫνϟʹΑΔϏδωε΁ͷߩݙ • ݱΞʔΩςΫνϟ͸͓Αͦ2ϲ݄Ͱߏஙɺ2018೥11݄30೔ϦϦʔεɻ • ྦྷܭϢʔβʔ਺5ສਓɺ6,000DAUɺ3,000ϢʔβʔτϥϯβΫγϣϯ • ྦྷܭച্ֹ 6ϲ݄Ͱ12,000ETH௒ • EthereumΛ࢖ͬͨੈքҰͷϒϩοΫνΣʔϯήʔϜ • ੈքͰ΋਺গͳ͍gRPC-WebͷϓϩμΫγϣϯࣄྫ • S3ɺAuroraΛ࢝ΊAWSશମͷ҆৺ײ͔ΒϒϩοΫνΣʔϯ΍gRPCͳͲ ৽نྖҬͷٕज़΁શྗͰ౿ΈࠐΉ͜ͱ͕Ͱ͖Δ
  16. 16.

    S U M M I T © 2019, Amazon Web

    Services, Inc. or its affiliates. All rights reserved. ͍͞͝ʹɺɺ
  17. 17.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T γεςϜΞʔΩςΫνϟ 6QMPBEUP*1'4 4 &UIFSFVN *1'4 *NBHFVQMPBE 8FC "VSPSB /-# 6TFS #BUDI 71$ 1SPYZ 4FOEUY .POJUPSJOH
 &UI $%/ 4FOEUY 4UBUJDEBUB
 0MEEBUB 1SPYZ
  18. 18.

    © 2019, Amazon Web Services, Inc. or its affiliates. All

    rights reserved. S U M M I T γεςϜΞʔΩςΫνϟ 6QMPBEUP*1'4 4 &UIFSFVN *1'4 *NBHFVQMPBE 8FC "VSPSB /-# 6TFS #BUDI 71$ 1SPYZ 4FOEUY .POJUPSJOH
 &UI $%/ 4FOEUY 4UBUJDEBUB
 0MEEBUB 1SPYZ VPC಺ʹߏங͍ͨ͠ͷͰ Managed BlockchainʢEthereumʣ Λ଴ͪΘͼ͓ͯΓ·͢ʂ
  19. 19.

    Thank you! S U M M I T © 2019,

    Amazon Web Services, Inc. or its affiliates. All rights reserved. ຬ଍ ྄ʢManzoku Ryoʣ manzoku@doublejump.tokyo / twitter@rmanzoku