go-colla-node

command module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2021 License: AGPL-3.0 Imports: 11 Imported by: 0

README

The backend node of Colla Network, a decentralized peer-to-peer communication and storage network.

use use use

Table of Contents

Introduction

Colla Network is a decentralized peer-to-peer communication and storage network, Colla DApp (e.g. CollaChat) connects to Colla Network via selected Colla Node, there is no centralized storage and control of user data, user can specify which node or even easily setup own node(s) to connect to.

Build

Optimized Settings

It's recommended to optimize following settings before building your own executable file:

No Package File Default Setting Recommended Setting
1 go-mplex@v0.3.0 multiplex.go var MaxMessageSize = 1 << 20 var MaxMessageSize = 1 << 30
2 go-libp2p-kad-dht@v0.12.2 internal\net\massage_manager.go var dhtReadMessageTimeout = 10 * time.Second var dhtReadMessageTimeout = 300 * time.Second
3 go-libp2p-core@v0.8.5 network\network.go const MessageSizeMax = 1 << 22 const MessageSizeMax = 1 << 30
4 go-msgio@v0.0.6 msgio.go defaultMaxSize = 8 * 1024 * 1024 defaultMaxSize = 1024 * 1024 * 1024

Installation

Get ready your server, domain and certificate first. You may rent a cloud server from CSP (or try on from a free instance), buy a domain or get a free one, use ACME to automatically issue & renew the free certificates from Let's Encrypt.

Tested OS

No OS Version and Spec.
1 Ubuntu 16.04/18.04/20.04, minimal 1vCPUs + 1GiB
2 Windows Windows Server 2016

Linux

  1. Download and uncompress
azureuser@myVM:~$ sudo wget https://github.com/curltech/go-colla-node/releases/download/v0.0.2/go-colla-node-linux-0.0.2.tar.gz
azureuser@myVM:~$ sudo tar zxvf go-colla-node-linux-0.0.2.tar.gz
  1. Configure and run
azureuser@myVM:~$ cd go-colla-node
azureuser@myVM:~/go-colla-node$ vi conf/peer1.yml
azureuser@myVM:~/go-colla-node$ ./main (or ./main -appname peer1)
  1. Use custom node in Colla DApp (e.g. CollaChat)
azureuser@myVM:~/go-colla-node$ sqlite3 peer1.db
sqlite> select discoveryaddress from blc_myselfpeer;
/dns4/peer1.curltech.cc/tcp/5720/wss/p2p/12D3KooWNwQ9pHZzmfjk8rZp4a1k5gXhibKxZMBdkdg1mTJEAYse

login

accountInformation

Windows

Use zip file for Windows instead of tar.gz file for Linux, and follow the same steps as above.

License

Copyright 2020-2021 CURL TECH PTE. LTD.

Licensed under the AGPLv3: https://www.gnu.org/licenses/agpl-3.0.html

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
chat
std
crypto
dht
ns
mail
imap/backend
A memory backend.
A memory backend.
p2p
msg
transport
tcp
udp
websocket/fastwss
Package websocket implements a websocket based transport for go-libp2p.
Package websocket implements a websocket based transport for go-libp2p.
websocket/wss
Package websocket implements a websocket based transport for go-libp2p.
Package websocket implements a websocket based transport for go-libp2p.
turn
gstreamer/receive
Package gst provides an easy API to create an appsink pipeline
Package gst provides an easy API to create an appsink pipeline
gstreamer/sink
Package gst provides an easy API to create an appsrc pipeline
Package gst provides an easy API to create an appsrc pipeline
sip
sip/softphone
Package softphone provides abstractions for SIP over Websocket
Package softphone provides abstractions for SIP over Websocket

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL