├── .github └── stale.yml ├── README.md └── earthsea.jpg /.github/stale.yml: -------------------------------------------------------------------------------- 1 | _extends: .github 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Scuttlebutt Guide 2 | 3 | _Looking to learn how to build in Scuttlebutt? There's currently no canonical resource, but here's a map of the known archipelago!_ 4 | 5 | [![map](earthsea.jpg)](https://en.wikipedia.org/wiki/A_Wizard_of_Earthsea) 6 | 7 | Have you found an Uncharted Isle? We'd love to hear about it. 8 | 9 | ## Documentation 10 | 11 | **scuttlebot** 12 | - [scuttlebot.io](http://scuttlebot.io/) - has great details about sbot and ssb-client (and other modules) 13 | - [ssbc.github.io](https://ssbc.github.io/docs) - a predecessor to scuttlebutt.io, much of the same content, has some other tutorials 14 | 15 | **scuttlebutt stack** 16 | - [scuttlebutt-protocol-guide](https://ssbc.github.io/scuttlebutt-protocol-guide/) - ([ssb](%gghZe88ZC2N18Zz44cn0/PE12eEJ+vyzOj6CW1QG4Ds=.sha256) | [github](https://github.com/ssbc/scuttlebutt-protocol-guide)) learn about the protocol with beautiful diagrams 17 | - [scuttlebutt modules](https://www.scuttlebutt.nz/modules.html) - a great overview of modules organised by domain / stack-position 18 | 19 | **pull-streams** 20 | - [pull-stream.github.io](https://pull-stream.github.io/) - a guide to the pull-stream ecosystem (scuttlebut uses pull-streams extensively) 21 | - [github.com/pull-stream/pull-stream-faq](https://github.com/pull-stream/pull-stream-faq) - a simple FAQ 22 | 23 | 24 | ## Tutorials 25 | 26 | ### Videos 27 | 28 | Intro to Node 29 | - video + repo ([ssb](%RQRdvrMM66kAScjCRdmXP0+6GCFkWpYIo2gN1dinax8=.sha256) | [github](https://www.github.com/mixmix/node-intro)) - a rough intro to node 30 | 31 | Intro to Scuttlebutt (v2) 32 | - https://github.com/mixmix/ssb-client-basic no video on this one, but I think you should start here 33 | Intro to Scuttlebutt (v1) 34 | - `ssb-client` - repo + video ([ssb](%DQVOkekw0Cx7bz0fcV8/WlWlBQHnpLw9LyYp7ctYC/0=.sha256) | [github](https://github.com/mixmix/ssb-client-intro)), learn how to connect to your databaseand do some streaming queries! 35 | - `flumedb` - repo + video ([ssb](%cC74FteCqofxOwZxIf7fqSeYVHFeXDTmKAQQaPudusY=.sha256) | [github](https://www.github.com/mixmix/flume-intro)), an intro to the database under scuttlebutt, about how to construct some _views_ (reduced versions of the database) for powerful lookups! 36 | - `scuttlebot` plugins - repo ~~+ video~~ ([ssb](%f2PZYbacgJpNq4buNCVsjG6j55K8olw80QxPjF2Teqs=.sha256) | [github](https://www.github.com/mixmix/ssb-server-plugin-intro)) plug your `flumeview` into scuttlebot (I figured our what went wrong at the end of the flumedb video!) 37 | 38 | 39 | Intro to Mutant 40 | - Part 1 - [video](https://www.youtube.com/watch?v=UcHNobDImK0), introduces observeables with `Value`, and `when`. Make a part of the page toggle dynamically 41 | - Part 2 - [video](https://www.youtube.com/watch?v=KYiTYUvX5JM), introduces `computed` which takes in multiple observeables and makes a new observeable, and `Struct` (kind a like an observeable object with pre-defined keys). I focus a bit of refactoring and moving code around to give you an idea of what's possible. 42 | 43 | _Mutant is a client side reactive library which is all about mutating the DOM. It's used by Patchwork, Patchbay, Ticktack (and the underlying lib Patchcore)._ 44 | 45 | 46 | ### Written 47 | 48 | [github.com/don-smith/ssb-tutorial](https://github.com/don-smith/ssb-tutorial) - a command line intro that uses docker to spin up several sbots and get them talking to each other. 49 | [github.com/kgibb8/scuttletron](https://github.com/KGibb8/scuttletron) - an electron app with integrated scuttlebot server for quickstart application development. 50 | 51 | ### Code snippets 52 | 53 | [scuttlebot.io](http://scuttlebot.io/docs/basics/publish-a-message.html) - lots of code snippets, some background 54 | - [post a message](http://scuttlebot.io/docs/basics/publish-a-message.html) 55 | - [watch for new messages](http://scuttlebot.io/docs/advanced/watch-for-messages.html) 56 | - [publish a blob](http://scuttlebot.io/docs/advanced/publish-a-file.html) | [read a blob](http://scuttlebot.io/docs/advanced/read-a-file.html) (blobs are files / attachments) 57 | - many others 58 | 59 | [ssbc.github.io/ssb-server/](http://ssbc.github.io/ssb-server/) - (see HowTo Guides down side) more detail, but an odler reference 60 | - [post a message](http://ssbc.github.io/docs/scuttlebot/howto-publish-a-post.html) (includes examples of mentioning, channels etc.) 61 | - [update your profile](http://ssbc.github.io/docs/scuttlebot/howto-update-your-profile.html) 62 | - [example of mentioning blobs in a post](http://ssbc.github.io/docs/scuttlebot/howto-publish-a-file.html) 63 | - [set up a Pub Server manually](http://ssbc.github.io/docs/scuttlebot/howto-setup-a-pub.html) (an old guide) 64 | 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /earthsea.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ssb-junkyard/scuttlebutt-guide/2b22f3b9915d3a4215961e1a568571e02634f625/earthsea.jpg --------------------------------------------------------------------------------