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
Introduction to Erebos: a JavaScript client for...
Search
Miloš Mošić
May 24, 2019
Programming
1
340
Introduction to Erebos: a JavaScript client for Swarm
The talk given at the Swarm Orange Summit in Madrid, 2019.
Miloš Mošić
May 24, 2019
Tweet
Share
More Decks by Miloš Mošić
See All by Miloš Mošić
Elixir_and_Blockchain_-_a_Perfect_Match.pdf
mosic
0
590
Phoenix LiveView - Making modern web apps without JavaScript
mosic
0
320
Elixir @ Evercam
mosic
3
1.4k
Other Decks in Programming
See All in Programming
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
260
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
220
Blueskyのプラグインを作ってみた
hakkadaikon
1
540
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
250
生成AIで日々のエラー調査を進めたい
yuyaabo
0
570
エラーって何種類あるの?
kajitack
5
140
Benchmark
sysong
0
180
イベントストーミングから始めるドメイン駆動設計
jgeem
4
830
人には人それぞれのサービス層がある
shimabox
3
670
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
490
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
810
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
How GitHub (no longer) Works
holman
314
140k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Faster Mobile Websites
deanohume
307
31k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cult of Friendly URLs
andyhume
79
6.4k
Practical Orchestrator
shlominoach
188
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Transcript
Introduction to Erebos: a JavaScript client for Swarm Miloš Mošić
JavaScript client?
swarmgw swarm-js Are there any other JavaScript clients for Swarm?
What is Erebos?
• Bzz APIs • Pss APIs • CLI • Timeline
• Utility libraries
bzz.download() bzz.upload() bzz.uploadFile() bzz.uploadDirectory() bzz.list() bzz.hash() What do Erebos bzz
packages support?
Is that really all?
Bzz functions specific to the Node.js client bzz.downloadObservable() bzz.downloadDirectoryData() bzz.downloadFileTo()
bzz.downloadDirectoryTo() bzz.downloadTo() bzz.uploadFileStream() bzz.uploadTar() bzz.uploadFileFrom() bzz.uploadDirectoryFrom() bzz.uploadFrom()
How about Feeds?
Feeds functions bzz.getDownloadURL() bzz.getUploadURL() bzz.getFeedURL() bzz.deleteResource() bzz.createFeedManifest() bzz.createFeedDigest() bzz.getFeedTopic() bzz.getFeedMetadata()
bzz.getFeedValue() bzz.pollFeedValue() bzz.postSignedFeedValue() bzz.postFeedValue() bzz.updateFeedValue() bzz.uploadFeedValue()
What problems did it solve for us?
• Higher level abstractions over the HTTP API • Breaking
changes in Swarm
• https://github.com/ethersphere/swarm-docker • https://hub.docker.com/r/ethdevops/swarm Breaking Changes in Swarm
CLI
Wait, Swarm already has a CLI?
• Bzz APIs • Pss APIs • Website commands
Bzz commands in the CLI bzz:upload bzz:download bzz:list bzz:hash
Pss commands in the CLI pss:address pss:key pss:topic pss:listen pss:send
pss:peer
Website commands in the CLI website:setup website:publish
Timeline
Timeline functions timeline.download() timeline.upload() timeline.getChapter() timeline.loadChapter() timeline.updateChapterID() timeline.addChapter() timeline.createUpdater() timeline.createIterator()
timeline.loadChapters() timeline.live()
Feed Subscriptions
• Messaging • Version updates
Erebos website https://erebos.js.org/
Thank you!