• Stars
    star
    214
  • Rank 184,678 (Top 4 %)
  • Language
    C++
  • License
    MIT License
  • Created over 7 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Official Blocknet cryptocurrency wallet

Blocknet

Build Status

https://blocknet.org

Welcome to the Blocknet repository. This repo is for the Blocknet Protocol, a 2nd layer blockchain interoperability protocol that enables communication, interaction, and exchange between different blockchains. This allows for the development of multi-chain applications and blockchain microservices, creating exponentially more capabilities and possibilities for the blockchain ecosystem.

Contributors are welcome!

Website API Documentation Discord

Blocknet

Started in 2014, Blocknet is a decentralized, community-governed, self-funded, open-source project that serves as a connector between different blockchains, markets, and communities.

The Blocknet Protocol

The Blocknet Protocol enables decentralized communication and exchange between different blockchains in a permissionless and trustless manner through the use of the TCP/IP networking layer for communication, P2P atomic swaps using BIP65 for exchange, and a DHT overlay network (Service Nodes) to host the full nodes of compatible blockchains, host microservices, audit interactions, and perform anti-spam and anti-DOS measures for the network.

Block DX

Block DX is a completely decentralized and trustless exchange built on the Blocknet Protocol that mimics a centralized exchange experience and enables traders to conduct exchanges directly from the wallets of the coins being traded. View Repo: [https://github.com/BlocknetDX/block-dx]

Blocknet Specifications:

BLOCK Detail
Creation Date October 20th, 2014
Release Method ITO, No Premine
Proof Type Proof of Stake (PoS)
Algo Quark
Block Time 60 seconds
Block Reward / Fees 1.0 BLOCK awarded to stakers
0.015 BLOCK awarded to Service Nodes on DX trades
XRouter fees awarded to Service Nodes (customizable)
Superblock Up to 40,000 BLOCK
Difficulty Adjusted per block
Staking Requirement No minimum
Service Node Requirement 5000 BLOCK (SPV)
Circulation View on explorer
Max Supply No maximum supply (PoS), but there is a maximum to inflation

Decentralized Atomic Swap Algo Summary

Initiator creates secret X, and hashes it to create H(X). Initiator also creates public private key pair (pubkey i1,i2 / privkey i2,i2). Responder creates public private key pair (pubkey r1,r2 / privkey r1,r2).

Step 2.
Initiator shares H(X) and pubkey i2 with responder. Responder shares pubkey r1 with intiator.

Step 3.
Initiator creates TxAb. TxAb can be redeemed after time T2 with privkey i1. At any time TxAb can redeemed with signature from privkey r1 and reveal of secret X. Initiator broadcasts TxAb onto the network.

Step 4.
Responder confirms TxAb. Responder creates TxBb. TxBb can be redeemed after T1 time with privkey r2. At any time TxBb can be redeemed with signature fom privkey i2 and reveal of secret X. Responder broadcasts TxBb onto the network.

Step 5.
Initiator creates TxBp which spends TxBb using privkey i2 and secret X. With the revealed secret, responder can create TxAp which spends TxAb with privkey r1 and secret X.

License

Blocknet is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

The MIT License (MIT)

Copyright (c) 2014-2020 The Blocknet Developers

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Development Process

The master branch is stable and will match the latest release. Development branches are indicated by the version number and may or may not be stable. Tags are created regularly to indicate new official, stable release versions of Blocknet.

The contribution workflow is described in CONTRIBUTING.md and useful hints for developers can be found in doc/developer-notes.md.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

More Repositories

1

block-dx

Block DX - P2P Decentralized exchange powered by Blocknet's XBridge Protocol
JavaScript
52
star
2

blocknet-docs

Shell
30
star
3

blockchain-configuration-files

Blockchain configuration files
Jinja
13
star
4

documentation

Source code for Blocknet's documentation portal:
CSS
12
star
5

dockerimages

Official Blocknet Docker Images
Python
10
star
6

exrproxy-env

erp-ethserver
Python
7
star
7

blocknet-blockchain-bootstrap

Blocknet blockchain bootstrap chain files
6
star
8

go-xrouter

XRouter golang library
Go
6
star
9

XQuery-v1-archive

XQuery provides decentralized access to indexed data for EVM blockchains such as Ethereum and Avalanche.
Python
5
star
10

dxmakerbot

XBridge market making bot
Python
5
star
11

eth-payment-processor

eth-payment-processor
Python
3
star
12

api-docs

Source code for Blocknet's API documentation: https://api.blocknet.co
JavaScript
3
star
13

xlite

Official XLite multi-wallet
JavaScript
3
star
14

arb-trading-bot

Python
2
star
15

BlockDX

Block DX v2.0 - A P2P Decentralised exchange, powered by Blocknet's XBridge Protocol
TypeScript
2
star
16

exrproxy

Enterprise XRouter Reverse Proxy Server
Python
1
star
17

xr-eth-payment-proxy-api

Python
1
star
18

xquery-dashboard-backend

JavaScript
1
star
19

dxstats

dx-stats
JavaScript
1
star
20

xrouterjs

JavaScript
1
star
21

blocknetdx-ansible

BlocknetDX Ansible Playbooks
Shell
1
star
22

libxrouter-sampleproj-cpp

XRouter C++ Library sample project
CMake
1
star
23

utxo-plugin

Python
1
star
24

dxregress

Blocknet DX regression test tools
Go
1
star
25

xquery-enduser-dashboard

JavaScript
1
star
26

blocknet.co

blocknet.co
JavaScript
1
star
27

blockdx-website

Source code for the Block DX website: https://blockdx.com
HTML
1
star