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
480
1
Share
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
More Decks by Miloš Mošić
See All by Miloš Mošić
Elixir_and_Blockchain_-_a_Perfect_Match.pdf
mosic
0
700
Phoenix LiveView - Making modern web apps without JavaScript
mosic
0
390
Elixir @ Evercam
mosic
3
1.6k
Other Decks in Programming
See All in Programming
さぁV100、メモリをお食べ・・・
nilpe
0
120
3Dシーンの圧縮
fadis
1
570
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
11k
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Inside Stream API
skrb
1
560
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
230
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
370
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
200
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.1k
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
2
800
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
170
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.2k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
380
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
The Curious Case for Waylosing
cassininazir
1
370
How to Ace a Technical Interview
jacobian
281
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
810
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
560
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
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!