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
Swarm: The distributed storage platform
Search
Keisuke Mori
August 17, 2018
Technology
1
790
Swarm: The distributed storage platform
Hi-Ether Meetup Fukuoka #7
https://techplay.jp/event/686209
Keisuke Mori
August 17, 2018
Tweet
Share
More Decks by Keisuke Mori
See All by Keisuke Mori
AWSを使う上で意識しておきたい、クラウドセキュリティ超入門(駆け足版)
kkmory
1
400
[JAWS-SG#02] 個人開発やハッカソンで役立つ、便利APIのつくりかた
kkmory
0
140
rubyonjets_with_aws_for_research
kkmory
0
580
AWSで動画変換&配信基盤を作った話
kkmory
0
250
Slackであそぼ!!
kkmory
0
130
Git-study-Hackz-treasure
kkmory
1
260
飯塚ブロックチェーン勉強会 #1
kkmory
0
140
Kindai_Blockchain_study01
kkmory
0
250
Other Decks in Technology
See All in Technology
AIとともに進化するエンジニアリング / Engineering-Evolving-with-AI_final.pdf
lycorptech_jp
PRO
0
150
Connect 100+を支える技術
kanyamaguc
0
190
モバイル界のMCPを考える
naoto33
0
410
asken AI勉強会(Android)
tadashi_sato
0
180
MobileActOsaka_250704.pdf
akaitadaaki
0
110
Delta airlines Customer®️ USA Contact Numbers: Complete 2025 Support Guide
deltahelp
0
140
ビギナーであり続ける/beginning
ikuodanaka
3
710
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
280
生成AI時代の開発組織・技術・プロセス 〜 ログラスの挑戦と考察 〜
itohiro73
1
420
KubeCon + CloudNativeCon Japan 2025 Recap
ren510dev
1
360
Tokyo_reInforce_2025_recap_iam_access_analyzer
hiashisan
0
170
改めてAWS WAFを振り返る~業務で使うためのポイント~
masakiokuda
2
230
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
694
190k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
730
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Building an army of robots
kneath
306
45k
GraphQLとの向き合い方2022年版
quramy
49
14k
Gamification - CAS2011
davidbonilla
81
5.3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Practical Orchestrator
shlominoach
188
11k
Transcript
Swarm The distributed storage platform Hi-Ether Meetup Fukuoka #7
͡Ίʹ
ܒี!LNPSSSSZ ۙـେֶ࢈ۀཧֶ෦# $JSDVMBUJPO5FDIOPMPHZ-BC 4NBSU$POUSBDU 4FSWFSTJEF3BJMT (P 1)1
࿑ಇͷղܾΛࢦͯ͠ɺऔΓΜͰ͍͖·͢
ͯ͞ɺࢄετϨʔδͷΛ
ࢄετϨʔδΓ͍ͨͰ͢ΑͶʁ
11Ͱଓ͞Εͨϊʔυ্ͰϑΝΠϧΛڞ༗ 11ωοτϫʔΫʹΞοϓϩʔυ͞ΕͨϑΝΠϧΛஅยԽ͠ɺ֤ϊʔυʹ ࢄͯ͠ஔ͢Δ͜ͱͰোੑΛߴΊΔˠ୯Ұোͷ͕ͳ͍ ωοτϫʔΫ্ͷϊʔυ͕Մಈ͠ଓ͚ΔݶΓɺϑΝΠϧγεςϜΛఏڙ͠ ଓ͚Δ͜ͱ͕Ͱ͖Δ -FHBDZɿ8JOOZ #JU5PSSFOU .PEFSOɿ*1'4
4XBSN 4UPSK 4JB 'JMFDPJOʜ ࢄϑΝΠϧγεςϜ
*OUFS1MBOFUBSZ'JMF4ZTUFN 11ωοτϫʔΫ্Ͱಈ࡞͢ΔϋΠύʔϝσΟΞϓϩτίϧ ίϯςϯπࢦ ɹʔ888ͷΑ͏ͳϩέʔγϣϯࢦͰͳ͍ ɹɹ&YFYBNQMFDPNIPHFGVHBIUNM ɹʔॴͰͳ͘ɺίϯςϯπͷ༰Λࢦఆͯ͠ΞΫηε͢Δ ɹɹίϯςϯπͷϋογϡΛίϯςϯπ*%ͱͯ͠ར༻ ɹɹίϯςϯπͷϋογϡΛࢦఆ͠ɺͦͷίϯςϯπ͕͋Δʮॴʯࢦఆ͠ͳ͍
ɹɹෛՙࢄɺোੑɺݕӾੑɺվળੑ *1'4
4XBSN
&UIFSFVNͷϓϩτίϧΛͬͨࢄετϨʔδϓϥοτϑΥʔϜ 1SPPGPG$PODFQUWFS͕։ൃத 4XBSN
ɾ&UIFSFVNXFCTUBDLͷͭ ɾίϯςϯπࢦ ɾಛఆͷαʔόʔͰϗετ͞Εͳ͍ ɾେ͖ͳσʔλ$IVOLͱׂͯͯ͠͠อଘ ɾθϩఀࢭ࣌ؒɺෛՙࢄɺোੑɺݕӾੑɺվળੑ ɾ&/4ʹΑΔυϝΠϯղܾ ɾӬٱʹόʔδϣϯཧ͞Εͨίϯςϯπ 4XBSN֓ཁ
͘ଊ͑Δͱ΄΅ಉ͡ͷͱଊ͑ͯྑ͍͕ɺͱ͜ΖͲ͜Ζҧ͏ ͲͪΒ։ൃ్தʢ1P$ʣ *1'4ͱ4XBSN *1'4 4XBSN 11ϥΠϒϥϦ MJCQQ EFWQQ
໊લղܾ *1/4 &/4 ϒϥδϯά HBUFXBZJQGTJPYYY MPDBMIPTUC[[YYY ΠϯηϯςΟϒ ʔ 1P$ͰՃ༧ఆ *1'4ͱ4XBSNͷओͳ૬ҧ
4XBSNͷετϨʔδ୯ҐͰ͋ΔɺαΠζ͕ݶఆ͞Εͨσʔλɻ ωοτϫʔΫDIVOLΛೝࣝ͠ɺϑΝΠϧίϨΫγϣϯͷ֓೦ Λ࣋ͨͳ͍ɻDIVOL,#ɻ ߏ DIVOL SFGFSFODF ίϯςϯπʹ༩͞ΕΔҰҙͷࣝผࢠɻ ඇ҉߸ԽɿIFYCZUFͰγϦΞϥΠζ͞ΕͨCZUFͷϋογϡ
҉߸ԽɹɿίϯςϯπΞυϨε CZUF ʴ෮߸Խݤ CZUF NBOJGFTU ϑΝΠϧίϨΫγϣϯΛهड़͢Δσʔλߏɻ σΟϨΫτϦ͝ͱΞοϓϩʔυ͢Δ࣌ʢ&Y8FCϖʔδʣʹɺ ϑΝΠϧͷϚοϐϯάΛఆ͍ٛͯ͠Δ
ಉҰσΟϨΫτϦͷ'JMFUYU 'JMFUYU 'JMFUYUΛΞοϓϩʔυ ϑΝΠϧΞΫηεʢC[[ʣ MPDBMIPTUC[[IBTIYYYYYYYYYY'JMFUYU MPDBMIPTUC[[FYBNQMFFUI'JMFUYU σΟϨΫτϦͷϑΝΠϧҰཡʢC[[MJTUʣ MPDBMIPTUC[[MJTUIBTIYYYYYYYɹ
.BOJGFTUϑΝΠϧΛऔಘʢC[[SBXʣ MPDBMIPTUC[[SBXIBTIYYYYYYYɹ ϑΝΠϧΞΫηε
4XBSN"DDPVOUJOH1SPUPDPM શൠతͳΠϯηϯςΟϒཧ 4XBSNͷΠϯηϯςΟϒγεςϜͷίΞͱͳΔ ΠϯηϯςΟϒγεςϜʢ1P$ʣ 48"1 48&"3 4FDVSF8BZTPG&OTVSJOH"3DIJWBM $IVOL͕ͪΌΜͱอ࣋͞Ε͍ͯΔ͔Ͳ͏͔ɺ$IVOLͷ࣭Λ୲อ
48&"3ʹอূۚΛΤεΫϩʔͯ͠ΠϯηϯςΟϒΛड͚Δ 48*/%-& 4FDVSFE8JUI*/TVSBODF%FQPTJU-JUJHBUJPOBOE&TDSPX 48&"3Ͱక݁͞ΕͨίϯτϥΫτΛࢹ͠ɺΤεΫϩʔͨ͠อূۚ Λཧ͠ɺҧऀʹേଇΛ༩͑Δ
ࢀর࣮7FSTJPOY ͱΓ͋͑ͣ͞ΘͬͯΈΔ go get github.com/ethereum/go-ethereumgo cd $GOPATH/src/github.com/ethereum/go-ethereum/cmd install
./geth install ./swarm HPFUIFSFVNʹ࣮ࡁ geth account new geth --syncmode=light swarm --bzzaccount <your-account-here> ΒͤͯΈΔ
ͱΓ͋͑ͣ͞ΘͬͯΈΔ $ cd /Users/keisuke/go/swarm $ ls > File_1.txt
File_2.txt File_3.txt $ swarm --recursive up /Users/keisuke/go/swarm > c930e0ada49614c5465334923b9b8ab9a0d8ebe0d35bfaf0044dbc3ac9178f06 σΟϨΫτϦ͝ͱΞοϓϩʔυ $ swarm ls c930e0ada49614c5465334923b9b8ab9a0d8ebe0d35bfaf0044dbc3ac9178f06 > HASH CONTENT TYPE PATH 4c24fcac7c18851a5dd6a6a12fbdb7e9f7b634751d3a992c4bb15e27fe16ba45 text/plain; charset=utf-8 File_1.txt 4c24fcac7c18851a5dd6a6a12fbdb7e9f7b634751d3a992c4bb15e27fe16ba45 text/plain; charset=utf-8 File_2.txt d9403cc2dd48592d93dde0e5e296328c303206130f28f9822a0c89f35ddfe5e6 text/plain; charset=utf-8 File_3.txt Ξοϓϩʔυ͞Εͨ͜ͱΛ֬ೝ
:":
144 11ϝοηʔδϯάγεςϜ .VUBCJMJUZ &/4Λ௨ͯ͡ίϯςϯπΛมߋՄೳʹ '64&TVQQPSU 4XBSNσʔλΛϩʔΧϧϑΝΠϧγεςϜʹ౷߹ʢ-JOVY .BDʣ 1P$
IUUQTHJUIVCDPNPSHTFUIFSTQIFSFQSPKFDUT ϩʔυϚοϓ
ͳʹ͔࡞ͬͯΈ͍ͨͰ͢ΑͶ
͓ΘΓʹ
ֶੜϒϩοΫνΣʔϯΤϯδχΞ ૿ͨ͘͠ͳ͍ʁ
-*/&άϧʔϓlz͡Ί·ͨ͠ɻ
ίϛϡχςΟͭ͘Γͨ͘ͳ͍ʁ
ͭ͘Γ·͠ΐ͏ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠