A B O U T M Y S E L F
ࣗݾհ
Tomokazu Kozuma
@Tomokazu106
౦ژۀେֶେֶӃଔۀޙɺαΠόʔΤʔδΣϯτͰεϚϗήʔϜͷαʔόɺΠϯ
ϑϥશൠΛ୲ɻԾ௨՟ʹ͍ٕͭͯज़ϒϩάΛॻ͍ͯΔ͏ͪʹ಄͠ɺຊ৬ͱ
ͯ͠ྗ͢ΔͨΊʹ(JODPʹೖࣾɻ(JODPͰϒϩοΫνΣʔϯͷϊʔυӡ༻ɺ
ϋʔυϑΥʔΫରԠɺόοΫΤϯυͳͲൣғΛ୲ɻ
Slide 3
Slide 3 text
5
5
A g e n d a
Ծ௨՟ΥϨοτʹ͍ͭͯ
ΥϨοτͷόοΫΤϯυʹ͍ͭͯ
ΥϨοτҎ֎ͷػೳʹؔͯ͠
֓ཁ
Slide 4
Slide 4 text
Ծ௨՟ΥϨοτʹ͍ͭͯ
P A R T 1
Slide 5
Slide 5 text
ϒϩοΫνΣʔϯͱʁ
• ୭ͷڐՄͳ͘ӡ༻Ͱ͖ɺ୭ͰதΛ͔֬ΊΕΔ
• ϊʔυੈքதͰӡ༻͞Ε͍ͯͯɺ૬ޓʹσʔλΛΓ
ͱΓ͢Δ͜ͱͰಉ͡σʔλΛಉظ͍ͯ͠Δ
• "͕#ʹૹͬͨͱ͍͏ཤྺΛอ࣋ʢτϥϯβΫγϣϯʣ
• ϒϩοΫνΣʔϯϊʔυͷใΛͲ͏ѻ͏͔͕ΥϨο
τΛ࡞Δ্Ͱॏཁ
W h a t ’ s B l o c k c h a i n
Slide 6
Slide 6 text
ΥϨοτͱʁ
• Ծ௨՟ͷૹडۚɺऔҾཤྺɺࢿ࢈ཧ͢Δͷ
• ࢿ࢈ʹඥͮ͘ൿີ伴Λཧ͍ͯ͠Δ
• ൿີ伴Λͬͯॺ໊ͯ͠ૹۚͰ͖Δ
• ൿີ伴ˠެ։伴ˠΞυϨεΛੜͯ͠Ծ௨՟Λड͚
औΕΔ
W h a t ’ s W a l l e t
Slide 7
Slide 7 text
ΥϨοτͷछྨ
• αʔόܕʢऔҾॴɺ#MPDLDIBJOJOGPɺ.POBQQZʣ
ɹɹαʔόଆͰཧ͢ΔͷͰࣗͰൿີ伴ΛཧͰ͖ͳ͍
• ΫϥΠΞϯτܕʢ(JODP
&MFDUSVN
5SVTUʣ
ɹɹࣗͷͷΈͰൿີ伴Λཧ͢Δ
T y p e o f W a l l e t
Slide 8
Slide 8 text
P r o s a n d C o n s
ϢʔβࢹͰͷϝϦοτσϝϦοτ
ϝϦοτ σϝϦοτ
αʔόܕ ൿີ伴ཧͷख͕ؒল͚Δ ϋοΧʔ͔ΒૂΘΕ͍͢
ΫϥΠΞϯτܕ
ʢ(JODPʣ
ࢿ࢈ΛࣗͰཧͰ͖Δ
։ൃݩʹѱҙ͕
͋Δͱ౪·ΕΔ
ΥϨοτʹඞཁͳͷ
W h a t ’ s n e e d
ɾૹۚػೳ
ॺ໊ॲཧɺωοτϫʔΫͷૹ৴
ɾϒϩοΫνΣʔϯϊʔυӡ༻ ,VCFSOFUFT (,&
$MPVE'VODUJPOT
ɾऔҾཤྺɺߴཧ
τϥϯβΫγϣϯཧ
$MPVE'JSFTUPSF
ΞυϨε௨՟ผͷߴཧ
Slide 14
Slide 14 text
ϒϩοΫνΣʔϯϊʔυӡ༻
Slide 15
Slide 15 text
ϒϩοΫνΣʔϯϊʔυӡ༻Ͱେࣄͳ͜ͱ
• Մ༻ੑʢ̒छྨϊʔυʣ
• όʔδϣϯΞοϓ͕ଟ͍ͷͰཧ͕͍͢͜͠ͱ
• ҆ఆʹՔಇ͍ͯ͠Δ͔ϞχλϦϯά͍͢͜͠ͱ
B l o c k c h a i n N o d e
Slide 16
Slide 16 text
,VCFSOFUFTͷಛ
• એݴతઃఆʢঢ়ଶΛίʔυͰઃఆʣ
• *NNVUBCJMJUZʢมߋΛՃ͑ͳ͍৽نͰ࡞Γ͢ʣ
• ࣗݾम෮ʢࢦఆͨ͠ঢ়ଶʹࣗಈͰम෮ʣ
K u b e r n e t e s
Slide 17
Slide 17 text
Bitcoin Bitcoin
ཤྺߴऔಘ༻
ϊʔυӡ༻ͷΞʔΩςΫνϟ
A r c h i t e c t u r e
Engine
Kubernetes
*OHSFTT
4FSWJDF 4FSWJDF
Bitcoin Bitcoin
5Yૹۚ༻
֎෦͔Βͷ௨৴ڐՄ
*OHSFTTɿ-ϩʔυόϥϯαɺ4FSWJDFɿ-ϩʔυόϥϯα
֎͔ΒͷΞΫηεېࢭ
ෳϊʔυ ෳϊʔυ
1PE
1PE
Slide 18
Slide 18 text
ڥ͋ͨΓ
A r c h i t e c t u r e
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Engine
Kubernetes
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
ཤྺ༻
ૹۚ༻
Slide 19
Slide 19 text
શڥ
A r c h i t e c t u r e
%FWFMPQɿ5FTUOFU
4UBHJOHɿ-JWFOFU
1SPEVDUJPO-JWFOFU
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Engine
Kubernetes
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Engine
Kubernetes
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Engine
Kubernetes
Bitcoin Bitcoin
Bitcoin Cash
Bitcoin Cash
Litecoin Litecoin
XRP XRP
Ethereum Ethereum
Classic
Ethereum
Classic
Ethereum
Slide 20
Slide 20 text
Ծ௨՟ͷૹۚ
Slide 21
Slide 21 text
ૹۚ
S e n d T r a n s a c t i o n
Engine
Kubernetes
Bitcoin Bitcoin
*OHSFTT
4FSWJDF
Functions
Cloud
• ॺ໊ࡁΈ5YΛ$MPVE'VODUJPOTܦ༝ͰϊʔυʹૹΔ
ͷൿີ伴Ͱ5Yʹॺ໊
ૹۚ༻
Slide 22
Slide 22 text
औҾཤྺɺߴཧ
Slide 23
Slide 23 text
औҾཤྺɺߴཧ
T x H i s t o r y a n d B a l a n c e
Engine
Kubernetes
4FSWJDF
औҾཤྺɺߴΛߋ৽
Firestore
Cloud
ϦΞϧλΠϜʹऔಘ
Pub/Sub
Cloud
Bitcoin Bitcoin
ཤྺऔಘ༻
• ϊʔυʹ͋ΔσʔλΛݕࡧ͍͢͠Α͏ʹ'JSFTUPSFʹೖ
Slide 24
Slide 24 text
ΥϨοτҎ֎ͷ෦ʹؔͯ͠
P A R T 3
Slide 25
Slide 25 text
ΥϨοτҎ֎ͷػೳ
• σϓϩΠʢ,VCFSOFUFTɺ$MPVE'JSFTUPSF'VODUJPOTʣ
• ϞχλϦϯά
• 'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ
• Ϋϥογϡϩάʢ*TTVFԽ4MBDL௨ʣ
• ϓογϡ௨
• ڧ੍Ξοϓσʔτ
• Ϣʔβߦಈϩάͷऔಘ
F u n c t i o n s
Slide 26
Slide 26 text
,VCFSOFUFTͷσϓϩΠ
D e p l o y t o K u b e r n e t e s
CircleCI
Engine
Container
$MPVE
#VJME
Engine
Kubernetes
Stackdriver
$POUBJOFS
3FHJTUPSZ
ᶄ#VJME5FTU ᶅ*NBHFͷొ
ᶆσϓϩΠ࣮ߦ ᶇ1PEͷ*NBHFͷߋ৽
GitHub
ᶃϚʔδͨ͠ΒΩοΫ
Slide 27
Slide 27 text
$MPVE'JSFTUPSF'VODUJPOTͷσϓϩΠ
D e p l o y t o K u b e r n e t e s
CircleCI
ᶄ#VJME5FTU
GitHub
ᶃϚʔδͨ͠ΒΩοΫ
Functions
Cloud
ᶅ'VODUJPOTͷσϓϩΠ
Firestore
Cloud
ᶆSVMFTJOEFYͷσϓϩΠ
Slide 28
Slide 28 text
ϞχλϦϯά4UBDLESJWFS
M o n i t o r i n g
Slide 29
Slide 29 text
ϞχλϦϯά
M o n i t o r i n g
ᶃࣗಈͰ4UBDLESJWFSʹूܭ͞ΕΔ
Engine
Kubernetes
Stackdriver
Functions
Cloud
Slack
ᶄᮢΛ͑ͨΒ௨
4UBDLESJWFSͰϞχλϦϯά
Slide 30
Slide 30 text
'JSFTUPSFͷόοΫΞοϓͱ#JH2VFSZ࿈ܞ
B a c k u p o f F i r e s t o r e & I n t e g r a t i o n t o B i g Q u e r y
Scheduler
Cloud
Functions
Cloud
ᶃ#BDLVQ"1*Λ࣮ߦ
Storage
Cloud
ᶄ#BDLVQϑΝΠϧ͕࡞͞ΕΔ
BigQuery
ᶅ#BDLVQϑΝΠϧͷ࡞͕ྃޙ
ɹ#JH2VFSZϩʔυ͢Δ"1*Λ࣮ߦ
Slide 31
Slide 31 text
Ϋϥογϡϩά
C r a s h l o g
ᶃΫϥογϡϩάΛ௨
Functions
Cloud
ᶄΫϥογϡΛτϦΨʔʹىಈ
ᶅ(JU)VCʹJTTVF࡞
Crashlytics
GitHub
Slack
ᶆ4MBDLʹ௨
Slide 32
Slide 32 text
ϓογϡ௨
P u s h N o t i f i c a t i o n
Functions
Cloud
ᶃσʔλ͕ߋ৽͞ΕͨΒ'VODJUPOTΛىಈ ᶄ.FTTBHJOHʹ௨
ᶅ.FTTBHJOH͔Βʹ௨
Firestore
Cloud
Messaging
Cloud
Slide 33
Slide 33 text
ڧ੍Ξοϓσʔτ
V e r s i o n U p d a t e
Config
Remote
ᶃىಈ࣌ʹ3FNPUF$POpH͔Β࠷όʔδϣϯΛऔಘ
04ผʹ࠷όʔδϣϯΛઃఆ
J04W
"OESPJEW
Slide 34
Slide 34 text
ϢʔβΞΫγϣϯͷऔಘ
U s e r L o g g i n g
ᶃΞΫγϣϯΛ&WFOUʹϓογϡ
Analytics
Functions
Cloud
ᶄ&WFOUΛτϦΨʔʹىಈ
֎෦ API
ᶅ֎෦"1*Λ࣮ߦʢࠂͷଌఆʣ
ΞΫγϣϯͷαϚϦΛݟΕΔ
Slide 35
Slide 35 text
·ͱΊ
• ,Tͱ'JSFCBTFͰόοΫΤϯυӡ༻ΛָʹͰ͖Δ
• $MPVE'VODUJPOTαʔϏε࿈ܞ͕ॆ࣮͍ͯͯ͠
αʔόϨεͳͷͰϝϯςίετఈ
• ,Tɺ'JSFCBTFͩͬͨΒগਓӡ༻࣮ݱͰ͖Δ
S u m m a r y