Channels

From Snowblossom Wiki
Revision as of 17:03, 16 November 2019 by Fireduck (talk | contribs)
Jump to: navigation, search

Snowblossom Channels

Snow Channels Basic Overview

Without going into a great amount of technical detail, the basic concept for Snow Channels is that a content creator creates a channel. The channel can be whatever content they want, like a blog or a instagram style series of pictures or a discussion group. The channel creator controls what goes on the channel completely.

People who want to read the channel subscribe to it. When they do, they become peers and help distribute the channel to others. Think of it like blockchain combined with bittorrent. It is like blockchain in that a bunch of peers that don’t trust each other can use a blockchain to agree on what the current best state is and what all of the history is that lead to that state. It is like bittorrent in that peers share content with each other.

Why is this good?

The really cool thing here is that no one can control a channel other than the channel creator (and anyone they designate). There is no wedge for censorship, no terms of service. It is freedom of speech in a very raw form. How others contribute A channel can be configured to consider submissions from people other than the channel creator. In which case, they broadcast their contributions on the p2p network. If the channel creator (or moderator or moderation software) accepts the contribution they build it into the next block for the channel.

What will this look like on my computer?

The details here are still somewhat unresolved. Most likely it will look like you running the Channel Node software. This will have a GUI that lets you see some information and change some settings. There will also be a web server built into the Channel Node, so in your browser you’ll go to https://localhost:<some port>/ and from there be able to see the contents of channels, subscribe to new channels. It is also possible we could move the channel node into a network appliance or another computer in your house.


Basic Setup

[Channels/Setup]


Early content test

This is a super early version. Lots of things don't work yet, but it does seed and peer static files and makes them available.

Download file from:

   https://snowblossom.org/jars/ChannelIceLeaf_deploy.jar

This is the snowblossom iceleaf client with additional channels features built in.

Subscribe to test website channel

Under tab 'Channel Node' paste in 'chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl' and press 'Subscribe'.

You should then get a few peers and a few blocks.

Then navigate to:

    http://localhost:8080/channel/chan:jw96y2w9cvvfmrese73vqv2zawc5v77ljgqwycdl/index.html

Create your own static content channel

Under tab 'Channel Node' type in a title and press 'Create'.

Under 'Channel Settings' find 'Channel Upload Directory' and find the folder there for the just created channel. Put files in that.

Go back to 'Channel Node' tab and select the channel in the combo box and press 'Import'. This will make a new block with that content, and then it will be available to peers.

Worst Chat Server

Under tab 'Channel Node' paste in 'chan:xchc24kv2qdnz9uzq056x2yjvyw30xuc9pmxe3mz' and press Subscribe.

Wait for it to get some blocks. It might take a minute.

Navigate to:

   http://localhost:8080/channel/chan:xchc24kv2qdnz9uzq056x2yjvyw30xuc9pmxe3mz/index.html

This chat server is an example of an unmoderated/masterless setup. The messages are in the equivalent of a mempool.

Worst Blog Server

Under tab 'Channel Node' paste in 'chan:34tlwtvlkm8nqmt3m63au3l5g9t5njzfjdfwmxme' and press Subscribe.

Wait for it to get some blocks. It might take a minute.

Navigate to:

   http://localhost:8080/channel/chan:34tlwtvlkm8nqmt3m63au3l5g9t5njzfjdfwmxme/index.html

This gets you my dev blog of nonsense. To make your own, create a channel and then import the files from:

   https://github.com/snowblossomcoin/channel-examples/tree/master/worst-blog

Technical Details

Channels DHT Design