pen

package module
v0.0.0-...-fa704fd Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2022 License: BSD-3-Clause Imports: 0 Imported by: 0

README

XWC Penguin Pen

Contributing

Please read the coding guidelines.

License

This library is distributed under the BSD-style license found in the LICENSE file.

Installing

OS requirements

Recommends to use Unix based system for installation

  • Ubuntu 20.04
  • MacOS

Software

In this installation manual we will use following additional software. You need to install it before

  • git for cloning repository, for install try sudo apt install git
  • screen agent for using sessions, for install try sudo apt install screen

Preparation

Because this manual is for completely full newbies (but of course they need some knowledge about Linux and terminal) we'll tell about very obvious things

In this manual we will use the following folder structure, so you should to prepare all folders and add the necessary permissions for them.

  • Create foldermkdir /srv/pen/
  • Add permissionschmod +x /srv/pen/ && cd pen
  • Download git repository git clone [https://github.com/penguintop/penguin](https://github.com/penguintop/penguin) and it's create the folder penguin automatically via downloading
  • Add permissionschmod +x /srv/pen/penguin/
  • Create foldermkdir /srv/pen/penguin/pen_data/
  • Add permissionschmod +x /srv/pen/penguin/pen_data/
  • Go to the folder cd /srv/pen/penguin/
  • download PEN binary prepared file wget "https://www.penguin.top/download/pen"
  • Add permissionschmod +x /srv/pen/penguin/pen

Run Node

Check pwd

it should shows that you stays in /srv/pen/penguin/ Penguin folder witn pen binary file

This command run node with using screen session

screen -S pen-test ./pen start --data-dir=./data --audit-mode --audit-endpoint=http://123.129.224.30:29999 --swap-endpoint=http://123.129.224.30:29900 --debug-api-enable --full-node --cache-capacity=10000000 --bootnode=/dnsaddr/penguin.top --cors-allowed-origins=*

How to upload file.pdf,jpg,png,etc to PEN using GUI

Here is WEB GUI for Penguin http://112.47.58.10:8888/

It contains following sections

  • Settings alt text

You can use DEMO IP of PEN Nodehttp://112.47.58.10:1633 for API and http://112.47.58.10:1635 for Debug

Or you can use own server or pc IP of your PEN node.

  • Status

Here is information about your connected node alt text

  • Files

Here is upload/download manager alt text

When you add the file you will see in left bottom corner notification about it, check the screenshot alt text

after it you should click button "Upload" below.

Than you'll see something like on this gif video, hash of your file. https://i.gyazo.com/80eb8aeaacc3e4b784e5a4ccdeb13321.mp4

When you go to the "Download" tab and the copy paste hash of your file and click search. You'll get the link to your file in the Penguin PEN blockchain. Please see illustration in the video below https://i.gyazo.com/390210ddff095523d391b59d24c4868c.mp4

  • Stamps
  • Accounting
  • Peers

Backup

  • backup private key

After entering and confirming the password, the terminal will print out the private key of the XWC account, which needs to be backed up alt text

Fill up an node wallet

  1. After the private key backup is completed, press any key, you can see the following print alt text
  • If you do not participate in PEN mining, you need to transfer 1 XWC (for handling fees) and no less than 1 PEN to the relevant address That's it.
  • If you need to participate in PEN mining, you need to transfer 1 XWC (for handling fee) and no less than 401 XWC to the relevant address PEN.

Check status of installation

  1. If you can see the following prints later, it means that the PEN node has been started normally alt text

  2. If you see the following print, it means that the PEN node has turned on the mining mode alt text

Backups additional

  1. How to export and backup PEN's XWC account private key if you forget to back up the private key when running PEN for the first time

./pen dumpkey --data-dir=/home/pen/pen_data alt text

PEN startup parameters:

  1. --audit-mode Open mining mode
  2. --audit-endpoint Mining authentication server endpoint
  3. --data-dir Local data directory
  4. --swap-endpoint XWC wallet node endpoint
  5. --debug-api-enable Open debug api

Receive income

Website: https://www.penguin.top/home Receiving operation:

  1. Enter the wallet address, click the [Query] button, and the amount will pop up;

Documentation

Overview

Package pen is the root package of Ethereum Penguin node implementation.

Index

Constants

This section is empty.

Variables

View Source
var (
	Version = func() string {
		if commit != "" {
			return version + "-" + commit
		}
		return version + "-dev"
	}()
)

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
cmd
pen
pkg
accounting
Package accounting provides functionalities needed to do per-peer accounting.
Package accounting provides functionalities needed to do per-peer accounting.
accounting/mock
Package mock provides a mock implementation for the accounting interface.
Package mock provides a mock implementation for the accounting interface.
addressbook
Package addressbook provides persisted mapping between overlay (topology) address and pen.Address address, which contains underlay (physical) address.
Package addressbook provides persisted mapping between overlay (topology) address and pen.Address address, which contains underlay (physical) address.
api
Package api provides the functionality of the Pen client-facing HTTP API.
Package api provides the functionality of the Pen client-facing HTTP API.
bitvector
Package bitvector provides functionality of a simple bit vector implementation.
Package bitvector provides functionality of a simple bit vector implementation.
bmt
Package bmt implements Binary Merkle Tree hash.
Package bmt implements Binary Merkle Tree hash.
bmt/reference
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096 This implementation does not take advantage of any paralellisms and uses far more memory than necessary, but it is easy to see that it is correct.
Package reference is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize n where 0 <= n <= 4096 This implementation does not take advantage of any paralellisms and uses far more memory than necessary, but it is easy to see that it is correct.
bmtpool
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
Package bmtpool provides easy access to binary merkle tree hashers managed in as a resource pool.
cac
debugapi
Package debugapi exposes the debug API used to control and analyze low-level and runtime features and functionalities of Pen.
Package debugapi exposes the debug API used to control and analyze low-level and runtime features and functionalities of Pen.
discovery
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
Package discovery exposes the discovery driver interface which is implemented by discovery protocols.
encryption
Package encryption exposes functionalities needed for encryption and decryption operations in Pen.
Package encryption exposes functionalities needed for encryption and decryption operations in Pen.
feeds
Package feeds implements generic interfaces and methods for time-based feeds indexing schemes are implemented in subpackages - epochs - sequence
Package feeds implements generic interfaces and methods for time-based feeds indexing schemes are implemented in subpackages - epochs - sequence
feeds/epochs
Package epochs implements time-based feeds using epochs as index and provide sequential as well as concurrent lookup algorithms
Package epochs implements time-based feeds using epochs as index and provide sequential as well as concurrent lookup algorithms
feeds/sequence
Package sequence provides implementation of sequential indexing for time-based feeds this feed type is best suited for - version updates - followed updates - frequent or regular-interval updates
Package sequence provides implementation of sequential indexing for time-based feeds this feed type is best suited for - version updates - followed updates - frequent or regular-interval updates
feeds/testing
package testing provides tests for update and resolution of time-based feeds
package testing provides tests for update and resolution of time-based feeds
file
Package file provides interfaces for file-oriented operations.
Package file provides interfaces for file-oriented operations.
file/joiner
Package joiner provides implementations of the file.Joiner interface
Package joiner provides implementations of the file.Joiner interface
file/pipeline
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
Package pipeline provides functionality for hashing pipelines needed to create different flavors of merkelised representations of arbitrary data.
file/splitter
Package splitter provides implementations of the file.Splitter interface
Package splitter provides implementations of the file.Splitter interface
flipflop
Package flipflop exposes a buffered input functionality that mimicks the behavior of falling edge detection which is done when doing signal processing on digital or analog electric circuitry.
Package flipflop exposes a buffered input functionality that mimicks the behavior of falling edge detection which is done when doing signal processing on digital or analog electric circuitry.
hive
Package hive exposes the hive protocol implementation which is the discovery protocol used to inform and be informed about other peers in the network.
Package hive exposes the hive protocol implementation which is the discovery protocol used to inform and be informed about other peers in the network.
hive/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
intervalstore
Package intervalstore provides a persistence layer for intervals relating to a peer.
Package intervalstore provides a persistence layer for intervals relating to a peer.
jsonhttp
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
jsonhttp/jsonhttptest
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
localstore
Package localstore provides disk storage layer for Penguin Chunk persistence.
Package localstore provides disk storage layer for Penguin Chunk persistence.
logging
Package logging provides the logger interface abstraction and implementation for Pen.
Package logging provides the logger interface abstraction and implementation for Pen.
manifest
Package manifest contains the abstractions needed for collection representation in Penguin.
Package manifest contains the abstractions needed for collection representation in Penguin.
netstore
Package netstore provides an abstraction layer over the Penguin local storage layer that leverages connectivity with other peers in order to retrieve chunks from the network that cannot be found locally.
Package netstore provides an abstraction layer over the Penguin local storage layer that leverages connectivity with other peers in order to retrieve chunks from the network that cannot be found locally.
node
Package node defines the concept of a Pen node by bootstrapping and injecting all necessary dependencies.
Package node defines the concept of a Pen node by bootstrapping and injecting all necessary dependencies.
p2p
Package p2p provides the peer-to-peer abstractions used across different protocols in Pen.
Package p2p provides the peer-to-peer abstractions used across different protocols in Pen.
p2p/libp2p/internal/handshake/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/libp2p/internal/headers/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
p2p/protobuf/internal/pb
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
Package pb holds only Protocol Buffer definitions and generated code for testing purposes.
pen
Package pen exposes the data structure and operations necessary on the pen.Address type which used in the handshake protocol, address-book and hive protocol.
Package pen exposes the data structure and operations necessary on the pen.Address type which used in the handshake protocol, address-book and hive protocol.
penguin
Package penguin contains most basic and general Penguin concepts.
Package penguin contains most basic and general Penguin concepts.
pingpong
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
Package pingpong exposes the simple ping-pong protocol which measures round-trip-time with other peers.
pingpong/pb
Package pb holds only Protocol Buffer definitions and generated code.
Package pb holds only Protocol Buffer definitions and generated code.
pinning
Package pinning provides a simple set of operations for tracking pinned references.
Package pinning provides a simple set of operations for tracking pinned references.
postage/batchstore
Package batchstore implements the reserve the reserve serves to maintain chunks in the area of responsibility it has two components - the batchstore reserve which maintains information about batches, their values, priorities and synchronises with the blockchain - the localstore which stores chunks and manages garbage collection when a new chunk arrives in the localstore, the batchstore reserve is asked to check the batch used in the postage stamp attached to the chunk.
Package batchstore implements the reserve the reserve serves to maintain chunks in the area of responsibility it has two components - the batchstore reserve which maintains information about batches, their values, priorities and synchronises with the blockchain - the localstore which stores chunks and manages garbage collection when a new chunk arrives in the localstore, the batchstore reserve is asked to check the batch used in the postage stamp attached to the chunk.
pss
Package pss exposes functionalities needed to communicate with other peers on the network.
Package pss exposes functionalities needed to communicate with other peers on the network.
puller
Package puller provides protocol-orchestrating functionality over the pullsync protocol.
Package puller provides protocol-orchestrating functionality over the pullsync protocol.
pullsync
Package pullsync contains protocol that is used to ensure that there is correct chunk replication in the neighborhood of the node.
Package pullsync contains protocol that is used to ensure that there is correct chunk replication in the neighborhood of the node.
pusher
Package pusher provides protocol-orchestrating functionality over the pushsync protocol.
Package pusher provides protocol-orchestrating functionality over the pushsync protocol.
pushsync
Package pushsync provides the pushsync protocol implementation.
Package pushsync provides the pushsync protocol implementation.
resolver
Package resolver handles name resolution for the Penguin pen.
Package resolver handles name resolution for the Penguin pen.
retrieval
Package retrieval provides the retrieval protocol implementation.
Package retrieval provides the retrieval protocol implementation.
rpc
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
sctx
Package sctx provides convenience methods for context value injection and extraction.
Package sctx provides convenience methods for context value injection and extraction.
settlement/pseudosettle
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
shed
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
Package shed provides a simple abstraction components to compose more complex operations on storage data organized in fields and indexes.
soc
Package soc provides the single-owner chunk implementation and validator.
Package soc provides the single-owner chunk implementation and validator.
statestore
Package statestore provides statestore implementation and mock.
Package statestore provides statestore implementation and mock.
steward
Package stewardess provides convenience methods for reseeding content on Penguin.
Package stewardess provides convenience methods for reseeding content on Penguin.
storage
Package storage provides implementation contracts and notions used across storage-aware components in Pen.
Package storage provides implementation contracts and notions used across storage-aware components in Pen.
tags
Package tags provides the implementation for upload progress tracking.
Package tags provides the implementation for upload progress tracking.
topology
Package topology exposes abstractions needed in topology-aware components.
Package topology exposes abstractions needed in topology-aware components.
topology/kademlia
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
Package kademlia provides an implementation of the topology.Driver interface in a way that a kademlia connectivity is actively maintained by the node.
topology/kademlia/internal/metrics
Package metrics provides service for collecting various metrics about peers.
Package metrics provides service for collecting various metrics about peers.
topology/kademlia/internal/waitnext
Package metrics provides service for collecting various metrics about peers.
Package metrics provides service for collecting various metrics about peers.
tracing
Package tracing helps with the propagation of the tracing span through context in the system.
Package tracing helps with the propagation of the tracing span through context in the system.
traversal
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.
Package traversal provides abstraction and implementation needed to traverse all chunks below a given root hash.

Jump to

Keyboard shortcuts

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