All Projects → PolymathNetwork → Polymesh

PolymathNetwork / Polymesh

Licence: gpl-3.0
Node for Polymesh Blockchain

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Polymesh

Blockchain Real Estate
🚀基于区块链的房地产交易系统小模型。提供销售和捐赠功能。本项目使用Hyperledger Fabric构建区块链网络, go编写智能合约,应用层使用gin+fabric-sdk-go调用合约。前端展示使用vue+element。体验地址:http://blockchain.togettoyou.com/web
Stars: ✭ 81 (-7.95%)
Mutual labels:  blockchain
Chaingear
The consensus computer driven database framework
Stars: ✭ 83 (-5.68%)
Mutual labels:  blockchain
Purple
Official Rust implementation of the Purple Protocol
Stars: ✭ 85 (-3.41%)
Mutual labels:  blockchain
Nano Docs
Documentation for the Nano protocol
Stars: ✭ 80 (-9.09%)
Mutual labels:  blockchain
Copernicus
An alternative implementation of the Bitcoin Cash protocol, written in Golang
Stars: ✭ 83 (-5.68%)
Mutual labels:  blockchain
Clutter
Fully distributed twitter built on holochain
Stars: ✭ 84 (-4.55%)
Mutual labels:  blockchain
Istanbul Tools
Istanbul BFT tools
Stars: ✭ 80 (-9.09%)
Mutual labels:  blockchain
Bitsharesjs
JavaScript tools for BitShares Encryption and Serialization
Stars: ✭ 88 (+0%)
Mutual labels:  blockchain
Stellarexplorer
Ledger Explorer for the Stellar Network 🚀
Stars: ✭ 82 (-6.82%)
Mutual labels:  blockchain
Blockchain Kotlin
这是kotlin版的简化示例区块链demo;另外还有java版的;这个小demo能让你了解区块链中增加/效验Hash,增加工作量证明,增加/效验preHash,转账,利用webSocket技术实现节点之间的通信/同步/广播.
Stars: ✭ 85 (-3.41%)
Mutual labels:  blockchain
Iroha Python
Python library for Hyperledger Iroha, a simple distributed ledger.
Stars: ✭ 81 (-7.95%)
Mutual labels:  blockchain
Iroha Ios
iOS Swift library for Iroha, a simple distributed ledger
Stars: ✭ 81 (-7.95%)
Mutual labels:  blockchain
Elementsproject.org
Source code for the ElementsProject.org website
Stars: ✭ 84 (-4.55%)
Mutual labels:  blockchain
Lisk Core
📟 Lisk blockchain application platform
Stars: ✭ 79 (-10.23%)
Mutual labels:  blockchain
Awesome Privacy On Blockchains
A curated list of privacy on blockchains resources
Stars: ✭ 86 (-2.27%)
Mutual labels:  blockchain
Trust Wallet Ios
📱 Trust - Ethereum Wallet and Web3 DApp Browser for iOS
Stars: ✭ 1,228 (+1295.45%)
Mutual labels:  blockchain
Blockchain Parser
The simpliest script for parsing Bitcoin blockchain. It made convertion of blk*****.dat files to the simple text.
Stars: ✭ 84 (-4.55%)
Mutual labels:  blockchain
Bitnfc
Bitcoin NFC Android Mobile Wallet - JS + Ionic + Cordova + Bitcore + Blockchain.info API + Cordova NFC plugin
Stars: ✭ 88 (+0%)
Mutual labels:  blockchain
Blockchaintechnology
Blockchain Frontier Technology Tracking
Stars: ✭ 88 (+0%)
Mutual labels:  blockchain
Solana Web3.js
Solana JavaScript SDK
Stars: ✭ 85 (-3.41%)
Mutual labels:  blockchain

Gitter Telegram

Polymath logo

Polymesh Blockchain - By Polymath

Polymesh is a blockchain for regulated securities and open finance.

Whitepaper

https://polymath.network/polymesh-whitepaper

Polymesh Alcyone Public Testnet

We provide linux binaries for each Alcyone release.

The latest release for the Polymesh Alcyone Public Testnet can be found at:

https://github.com/PolymathNetwork/Polymesh/releases

Specifying no chain at the command line defaults to the Polymesh Alcyone Public Testnet (e.g. --chain alcyone), so to run a node which connects to the Alcyone Public Testnet, you can start your node with:

./target/release/polymesh

Operators

A guide to running an operator node can be found at:

https://github.com/PolymathNetwork/polymesh-tools/tree/main/docs/operator

Documentation

Further details on Polymesh concepts and networks can be found at:

https://developers.polymesh.live/

Code documentation can be found at:

https://docs.polymesh.live/

Build

Install Rust:

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

Install required tools:

./scripts/init.sh

Build Wasm and native code:

cargo build --release

Run unit tests:

./scripts/test.sh

Branches

  • The develop branch is the working branch with the latest code changes.
  • The alcyone branch tracks code deployed to the Polymesh Alcyone Public Testnet.
  • The staging branch tracks Alcyone except during a release cycle where it is upgraded ahead of Alcyone.
  • The tooling branch tracks the next candidate release for Alcyone.

Development

Single node development chain

You can start a development chain with:

./target/release/polymesh --dev

Detailed logs may be shown by running the node with the following environment variables set: RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/polymesh --dev.

To access the Polymesh Chain using the Web Interface do the following:

  1. Click on the Polymesh logo in the top-left corner of the UI. You can then select "Local Node" under the Development section.

    Note: if the polymesh node above is on a different machine than your browser (e.g., a server on your local network), you'll need to use a "custom endpoint", e.g., ws://192.168.0.100:9944/. The Web Interface uses https, but your polymesh instance does not, so you'll need ws:// as opposed to wss://. You'll also need to use http://httpapp.polymesh.live/ instead of Web Interface. Otherwise, you'll have problems with mixed-content blocking (https vs. http). Finally, add --rpc-external --ws-external --rpc-cors all to the polymesh invocation above.

  2. If you have custom types definitions that differ from the Polymesh Alcyone Public Testnet, you can update these in Settings tab under the Developer section.

  3. Reload the page.

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.

cd scripts/cli
npm install
./run.sh

This uses pm2 to run a local three node network for demonstrate simple consensus.

To stop the chain you can use:

./stop.sh

and to display log files you can use:

./log.sh

Unit Tests

Unit tests are packaged with the Rust code. To run these, you can execute:

cargo test --package polymesh-runtime-tests  --features default_identity
cargo test --package pallet-staking
cargo test --package pallet-balances
cargo test --package polymesh-primitives
cargo test --package pallet-pips-rpc
cargo test --package pallet-transaction-payment

Initialise

You can seed the network with some identities, claims, signing keys and assets by running the functional test.

cd scripts/cli
node run test

See README for details.

Benchmark

Polymesh runtime benchmarks can be run with a command that specifies the pallet and the name of the extrinsic to be benchmarked, for example:

cargo run --release --features runtime-benchmarks -- \
    benchmark -p="*" -e="*"

Note that the CLI binary should be built in release mode and that the feature flag runtime-benchmarks should be set to enable the CLI option benchmark.

Debug

Environment

Install GDB for your distribution.

Build

Binary should be built in debug mode, using cargo build without --release parameter:

cargo build

Test cases are built in debug mode by default.

Using GDB

Using rust-gdb you will get pretty printed values for more types than directly with gdb.

The following example, starts gdb, sets a breakpoint, and starts our compiled polymesh:

$> rust-gdb ./target/debug/polymesh
GNU gdb (Ubuntu 8.2.91.20190405-0ubuntu3) 8.2.91.20190405-git
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./target/debug/polymesh...

(gdb) b balances/src/lib.rs : 390
Breakpoint 1 at 0x2b792d0: balances/src/lib.rs:390. (2 locations)

(gdb) run --dev
Starting program: ./target/debug/polymesh --dev
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
2020-02-26 12:48:37 Running in --dev mode, RPC CORS has been disabled.
2020-02-26 12:48:37 Polymesh Node
...

License

LICENSE

Substrate Framework

Polymesh is built on Substrate.

Polymath

Polymath Website

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].