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
800
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
410
[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
270
飯塚ブロックチェーン勉強会 #1
kkmory
0
140
Kindai_Blockchain_study01
kkmory
0
260
Other Decks in Technology
See All in Technology
2025年になってもまだMySQLが好き
yoku0825
6
3k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
6
2k
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
2
1.2k
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
110
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
120
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
640
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
4
2.5k
Language Update: Java
skrb
2
200
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
180
衝突して強くなる! BLUE GIANTと アジャイルチームの共通点とは ― いきいきと活気に満ちたグルーヴあるチームを作るコツ ― / BLUE GIANT and Agile Teams
naitosatoshi
0
290
Kiroと学ぶコンテキストエンジニアリング
oikon48
5
6.3k
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
360
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
246
12k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
How STYLIGHT went responsive
nonsquared
100
5.8k
It's Worth the Effort
3n
187
28k
BBQ
matthewcrist
89
9.8k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
The Language of Interfaces
destraynor
160
25k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
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͡Ί·ͨ͠ɻ
ίϛϡχςΟͭ͘Γͨ͘ͳ͍ʁ
ͭ͘Γ·͠ΐ͏ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠