All Projects → dappforce → subsocial-node

dappforce / subsocial-node

Licence: GPL-3.0 license
NOTE: Development continues in https://github.com/dappforce/subsocial-parachain repo. Subsocial full node with Substrate/Polkadot pallets for decentralized communities: blogs, posts, comments, likes, reputation.

Projects that are alternatives of or similar to subsocial-node

polkadot-apps
Fork of Polkadot.js Apps with Subsocial types.
Stars: ✭ 17 (-76.71%)
Mutual labels:  social-network, dapp, decentralized, blog-engine, activity-stream, news-feed, blog-platform, substrate, commenting, activity-feed, comment-system, polkadot, decentralized-application, medium-clone, subsocial, dappforce
subsocial-offchain
Off-chain storage for Subsocial blockchain. This app builds user feeds and notifications by subscribing to Substrate events.
Stars: ✭ 24 (-67.12%)
Mutual labels:  activity-stream, news-feed, substrate, activity-feed, polkadot, subsocial, dappforce
felfele
Decentralized social application that respects your privacy
Stars: ✭ 30 (-58.9%)
Mutual labels:  social-media, social-network, decentralized, decentralized-application
Astar
The dApp hub for blockchains of the future
Stars: ✭ 533 (+630.14%)
Mutual labels:  dapp, substrate, polkadot
soundstorm
The Federated Social Audio Platform
Stars: ✭ 26 (-64.38%)
Mutual labels:  social-network, decentralized, activity-stream
socialx react native
The SocialX ecosystem takes the social media experience to the next level.
Stars: ✭ 20 (-72.6%)
Mutual labels:  social-media, social-network, decentralized
Stream Framework
Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:
Stars: ✭ 4,576 (+6168.49%)
Mutual labels:  activity-stream, news-feed, activity-feed
Twtxt
📕 twtxt is a Self-Hosted, Twitter™-like Decentralised microBlogging platform. No ads, no tracking, your content, your data!
Stars: ✭ 486 (+565.75%)
Mutual labels:  social-media, social-network, decentralized
Dandelion
a diaspora* client for Android
Stars: ✭ 100 (+36.99%)
Mutual labels:  social-media, social-network, decentralized
awesome-alternatives
A list of alternative websites/software to popular proprietary services.
Stars: ✭ 123 (+68.49%)
Mutual labels:  social-media, social-network, decentralized
substrate-graph
a compact graph indexer stack for parity substrate, polkadot, kusama
Stars: ✭ 28 (-61.64%)
Mutual labels:  substrate, polkadot
reef-chain
EVM compatible chain with NPoS/PoC consensus
Stars: ✭ 142 (+94.52%)
Mutual labels:  substrate, polkadot
Chatangle
A free, decentralized, global chatroom, powered by the IOTA tangle
Stars: ✭ 16 (-78.08%)
Mutual labels:  dapp, decentralized
driwwwle
The social network for developers. Discover creative websites and build a community.
Stars: ✭ 109 (+49.32%)
Mutual labels:  social-media, social-network
dtube
Decentralized video sharing & social media platform on Ethereum blockchain.
Stars: ✭ 70 (-4.11%)
Mutual labels:  social-media, dapp
stream-python
Python Client - Build Activity Feeds & Streams with GetStream.io
Stars: ✭ 134 (+83.56%)
Mutual labels:  news-feed, activity-feed
ares
Completely decentralized oracle protocol
Stars: ✭ 51 (-30.14%)
Mutual labels:  substrate, polkadot
stream-net
NET Client - Build Activity Feeds & Streams with GetStream.io
Stars: ✭ 28 (-61.64%)
Mutual labels:  news-feed, activity-feed
polkascan-os
Polkascan Open Source
Stars: ✭ 52 (-28.77%)
Mutual labels:  substrate, polkadot
social
A simple social media using MEAN Stack. Frontend: Angular 6.
Stars: ✭ 13 (-82.19%)
Mutual labels:  social-media, social-network

Note: Development continues in subsocial-parachain repo.

Subsocial Node by DappForce

Subsocial is a set of Substrate pallets with web UI that allows anyone to launch their own decentralized censorship-resistant social network aka community. Every community can be a separate Substrate chain and connect with other communities via a Polkadot-based relay chain.

You can think of this as decentralized versions of Reddit, Stack Exchange or Medium, where subreddits or communities of Stack Exchange or blogs on Medium run on their own chain. At the same time, users of these decentralized communities should be able to share their reputation or transfer coins and other values from one community to another via Polkadot relay chain.

To learn more about Subsocial, please visit Subsocial Network.

Build

Build from scratch

Install Rust:

curl https://sh.rustup.rs -sSf | sh

Initialize your Wasm Build environment:

./scripts/init.sh

Build Wasm and native code:

cargo build --release

Build runtime WASM with SRTool

You need to have docker installed for this type of build.

Add SRTool alias:

export RUSTC_VERSION=nightly-2021-03-15; export PACKAGE=subsocial-runtime; alias srtool='docker run --rm -it -e RUNTIME_DIR=runtime -e PACKAGE=$PACKAGE -v $PWD:/build -v "$TMPDIR"/cargo:/cargo-home chevdor/srtool:$RUSTC_VERSION'

Run build:

srtool build

Run

Single Node Development Chain

Purge any existing developer chain state:

./target/release/subsocial-node purge-chain --dev

Start a development chain with:

./target/release/subsocial-node --dev

Detailed logs may be shown by running the node with the following environment variables set: RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev.

Multi-Node Local Testnet

If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with testnet units.

Optionally, give each node a name and expose them so they are listed on the Polkadot telemetry site.

You'll need two terminal windows open.

We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at /tmp/alice. The bootnode ID of her node is QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR, which is generated from the --node-key value that we specify below:

cargo run -- \
  --base-path /tmp/alice \
  --chain=local \
  --alice \
  --node-key 0000000000000000000000000000000000000000000000000000000000000001 \
  --telemetry-url ws://telemetry.polkadot.io:1024 \
  --validator

In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database stored locally at /tmp/bob. We'll specify a value for the --bootnodes option that will connect his node to Alice's bootnode ID on TCP port 30333:

cargo run -- \
  --base-path /tmp/bob \
  --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR \
  --chain=local \
  --bob \
  --port 30334 \
  --telemetry-url ws://telemetry.polkadot.io:1024 \
  --validator

Additional CLI usage options are available and may be shown by running cargo run -- --help.

License

Subsocial is GPL 3.0 licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].