Git Product home page Git Product logo

michelvankessel / pocketnet.core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pocketnetteam/pocketnet.core

0.0 0.0 0.0 30.54 MB

Decentralized social network based on the blockchain

Home Page: https://pocketnet.app

License: Apache License 2.0

Shell 0.45% Makefile 0.65% M4 1.08% Python 7.30% C 53.38% C++ 36.00% QMake 0.01% HTML 0.11% Objective-C++ 0.03% Assembly 0.15% Java 0.15% Sage 0.15% CMake 0.53%

pocketnet.core's Introduction

Pocketnet CORE

GitHub contributors last_commit release_date version download_latest

What is Pocketcoin?

Pocketnet is a decentralized social network based on the blockchain. There is no central authority or corporation. Platform is run by equal nodes on a blockchain with no centralized server. All revenue is split between node operators and content creators. Node operators stake Pocketcoin in order to mint blocks with rewards and transactions fees. Half of rewards in each block go to content creators based on ratings their content gathers from users. Read more in the article.

What should I know?

This software allows you to participate in the work of the blockchain network - https://pocketnet.app/help.

To start a node independently, you need basic skills of working with the operating system, understanding the principle of the blockchain network. A deeper level of personal computer proficiency is welcome.

Usage

PocketnetCore is distributed in two ways: binary installer and build from source code.

Minimum system requirements:

  • 4 core CPU
  • 20GB RAM
  • 25GB free disk space
  • 10Mbps internet connection

Installation

Linux (Ubuntu, Debian, Mint, etc.)

Install package with root privilegies. To do this, open the terminal in the directory where you downloaded the installer and execute commands:

$ sudo dpkg -i pocketnetcore_*_linux_x64_setup.deb

Windows

Run the pocketnetcore_*_win_x64_setup.exe and follow the instructions of the installer.
When you first start, the pocketnetcore desktop utility will ask for the location of the blockchain data directory. Default for Windows %APPDATA%/Pocketcoin, for linux ~/.pocketcoin.

Docker

Make sure that enough resources are allocated in your docker settings for the node to work from the section https://github.com/pocketnetteam/pocketnet.core#usage
You can start your node with a single command from Docker.

$ docker run -d \
    --name=pocketnet.main \
    -p 37070:37070 \
    -p 38081:38081 \
    -p 8087:8087 \
    -v /var/pocketnet/.data:/home/pocketcoin/.pocketcoin \
    pocketnetteam/pocketnet.core:latest

Control

$ docker ps --format '{{.ID}}\t{{.Names}}\t{{.Image}}'
ea7759a47250    pocketnet.main      pocketnetteam/pocketnet.core:latest
$
$ docker exec -it pocketnet.main /bin/sh
$
$ pocketcoin-cli --help
$ pocketcoin-tx --help

More information : https://hub.docker.com/r/pocketnetteam/pocketnet.core

First full synchronization

To quickly synchronize and minimize traffic costs, you can run an empty node with additional parameters:

  • -listen=0 - disable the visibility of your node so that other novice nodes can't connect to you to download the blockchain.
  • -blocksonly=1 - specifies the mode of operation without transaction relay. In this way, the node will load the blocks as a whole, ignoring individual transactions on the network.
  • -disablewallet=1 - disables wallet mechanisms to speed up the synchronization process

After full synchronization, it is strongly recommended to disable these settings for the full operation of the node.

You can get the full list of parameters:

$ pocketcoind --help

Initialize blockchain data with database checkpoint

  1. Stop the node.
  2. Download database archive:
    # List all snapshots available at
    https://snapshot.pocketnet.app
    
    # Latest snapshot archive
    https://snapshot.pocketnet.app/latest.tgz
    https://snapshot.pocketnet.app/latest.bz2
    
  3. There must be archive tgz with 5 directories:
    blocks\
      - ...
    chainstate\
      - ...
    indexes\
      - ...
    pocketdb\
      - main.sqlite3
      - web.sqlite3
    checkpoints\
      - main.sqlite3
  4. Clean out everything except wallet.dat file, wallets/ directory and pocketcoin.conf config file in the blockchain working directory and unpack the archive:
    # for unix
    $ cd ~/.pocketcoin/
     
    # or for windows
    $ cd %APPDATA%\Pocketcoin\
    
    # or for macos
    $ cd ~/Library/Application\ Support/Pocketcoin/
     
    # delete exists DB
    $ rm -r ./blocks
    $ rm -r ./chainstate
    $ rm -r ./indexes
    $ rm -r ./pocketdb
    $ rm -r ./checkpoints
    
    # unpack new checkpoint DB
    
    # for tar.gz archive
    $ tar -xzf latest.tgz -C ./
    
    # for bz2 archive
    $ tar -xjf latest.tgz -C ./
  5. Make sure the folders and files inside are not set to "read only"
  6. Start the node.

VERY IMPORTANT: save the wallet.dat file or wallets/ files before cleaning the directory. It is recommended to even save these files somewhere for backup.

Build from source code

See doc/build-*.md files for build instructions.

Help

You can get help and useful information from different sources:

License

Pocketnet Core is released under the terms of the Apache 2.0 license. See LICENSE for more information or see https://opensource.org/licenses/Apache-2.0.

Contacts

[email protected] - general questions

[email protected] - blockchain nodes

pocketnet.core's People

Contributors

andyoknen avatar pocketnetteam avatar lostystyg avatar yanotek avatar only1question avatar iskatel56 avatar tawmaz avatar elliottminns avatar dennis-volk avatar shawnrader avatar greenbutton75 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.