Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swarm: The distributed storage platform
Search
Keisuke Mori
August 17, 2018
Technology
850
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swarm: The distributed storage platform
Hi-Ether Meetup Fukuoka #7
https://techplay.jp/event/686209
Keisuke Mori
August 17, 2018
More Decks by Keisuke Mori
See All by Keisuke Mori
AWSを使う上で意識しておきたい、クラウドセキュリティ超入門(駆け足版)
kkmory
1
440
[JAWS-SG#02] 個人開発やハッカソンで役立つ、便利APIのつくりかた
kkmory
0
170
rubyonjets_with_aws_for_research
kkmory
0
620
AWSで動画変換&配信基盤を作った話
kkmory
0
260
Slackであそぼ!!
kkmory
0
150
Git-study-Hackz-treasure
kkmory
1
300
飯塚ブロックチェーン勉強会 #1
kkmory
0
160
Kindai_Blockchain_study01
kkmory
0
270
Other Decks in Technology
See All in Technology
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
140
品質と信頼性を地続きにする
grimoh
2
820
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.1k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
350
SREは、MCPとAutopilotをこう使え!
kazumax55
3
910
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
900
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
530
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
190
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
30
17k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
7.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
The browser strikes back
jonoalderson
0
1.7k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Un-Boring Meetings
codingconduct
0
420
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Balancing Empowerment & Direction
lara
6
1.3k
Optimizing for Happiness
mojombo
378
71k
The World Runs on Bad Software
bkeepers
PRO
72
12k
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͡Ί·ͨ͠ɻ
ίϛϡχςΟͭ͘Γͨ͘ͳ͍ʁ
ͭ͘Γ·͠ΐ͏ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠