Hello, this is more like an experiment, but who knows where it can get. So many ASIC miners left behind, so we can pop out this new bitcoin clone that pays 1500 coins per block found.
I'm getting a cute ecosystem and branding ready if takes anywhere.
Explorer
http://138.68.150.170:2750/Paper wallet
http://mercante.network/paperwallet/If you fancy to mine MERCATE, copy the text below (ubuntu 1604) in a .sh file, chmod and ./ exec. It should be easy.
For windows64,
https://github.com/M3rc4nt3/mercante1.0b-win64---------------------------START TEXT TO COPY BELOW
#!/bin/bash
clear
[ "$(whoami)" != "root" ] && exec sudo -- "$0" "$@"
echo "Installing M3rc4nt3 1.0b
_ ___ __
| | / _ \/_ |
_ __ ___ ___ _ __ ___ __ _ _ __ | |_ ___ __ _| | | || |
| '_ ` _ \ / _ \ '__/ __/ _` | '_ \| __/ _ \ \ \ / / | | || |
| | | | | | __/ | | (_| (_| | | | | || __/ \ V /| |_| || |
|_| |_| |_|\___|_| \___\__,_|_| |_|\__\___| \_(_)\___(_)_|
"
sudo apt-get update
sudo apt-get -y install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get -y install libboost-all-dev
sudo apt-get -y install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin -y
sudo apt-get update
sudo apt-get -y install libdb4.8-dev libdb4.8++-dev
sudo apt-get -yinstall libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
git clone
https://github.com/M3rc4nt3/mercante1.0b-Ubuntu16.04.gitcd mercante1.0b-Ubuntu16.04
chmod 755 *
mv mercanted mercante-cli mercante-util /usr/local/bin/
mkdir -p /root/.mercante/mercante
echo "
# ==== Mercante configuration file ====
# Created by mercante-util
# Protocol version: 10002
# This parameter set is VALID.
# To join network please run mercanted mercante.
# The following parameters can only be edited if this file is a prototype of another configuration file.
# Please run mercante-util clone mercante <new-network-name> to generate new network.
# Basic chain parameters
chain-protocol = bitcoin # Chain protocol: mercante (permissions, native assets) or bitcoin
chain-description = Nulla Tenaci Invia Est Via. # Chain description, embedded in genesis block coinbase, max 90 chars.
chain-is-testnet = false # Content of the 'testnet' field of API responses, for compatibility.
target-block-time = 15 # Target time between blocks (transaction confirmation delay), seconds. (2 - 86400)
maximum-block-size = 8388608 # Maximum block size in bytes. (5000 - 1000000000)
# Global permissions
anyone-can-connect = true # Anyone can connect, i.e. a publicly readable blockchain.
anyone-can-send = true # Anyone can send, i.e. transaction signing not restricted by address.
anyone-can-receive = true # Anyone can receive, i.e. transaction outputs not restricted by address.
anyone-can-issue = true # Anyone can issue new native assets.
anyone-can-mine = true # Anyone can mine blocks (confirm transactions).
anyone-can-admin = true # Anyone can grant or revoke all permissions.
allow-p2sh-outputs = true # Allow pay-to-scripthash (P2SH) scripts, often used for multisig. Ignored if allow-arbitrary-outputs=true.
allow-multisig-outputs = true # Allow bare multisignature scripts, rarely used but still supported. Ignored if allow-arbitrary-outputs=true.
# Consensus requirements
setup-first-blocks = 60 # Length of initial setup phase in blocks, in which mining-diversity,
# admin-consensus-* and mining-requires-peers are not applied. (1 - 31536000)
mining-diversity = 0.5 # Miners must wait <mining-diversity>*<active miners> between blocks. (0 - 1)
admin-consensus-admin = 0.5 # <admin-consensus-admin>*<active admins> needed to change admin perms. (0 - 1)
admin-consensus-mine = 0.5 # <admin-consensus-mine>*<active admins> to change mining permissions. (0 - 1)
mining-requires-peers = false # Nodes only mine blocks if connected to other nodes (ignored if only one permitted miner).
# Native blockchain currency (likely not required)
initial-block-reward = 150000000000 # Initial block mining reward in raw native currency units. (0 - 1000000000000000000)
first-block-reward = 150000000000 # Different mining reward for first block only, ignored if negative. (-1 - 1000000000000000000)
reward-halving-interval = 333333 # Interval for halving of mining rewards, in blocks. (60 - 1000000000)
reward-spendable-delay = 1 # Delay before mining reward can be spent, in blocks. (1 - 100000)
minimum-per-output = -1 # Minimum native currency per output (anti-dust), in raw units.
# If set to -1, this is calculated from minimum-relay-fee. (-1 - 1000000000)
maximum-per-output = 1000000000000000 # Maximum native currency per output, in raw units. (0 - 1000000000000000000)
minimum-relay-fee = 10000 # Minimum transaction fee, per 1000 bytes, in raw units of native currency. (0 - 1000000000)
native-currency-multiple = 100000000 # Number of raw units of native currency per display unit. (0 - 1000000000)
# Advanced mining parameters
skip-pow-check = false # Skip checking whether block hashes demonstrate proof of work.
pow-minimum-bits = 16 # Initial and minimum proof of work difficulty, in leading zero bits. (1 - 32)
target-adjust-freq = 3600 # Interval between proof of work difficulty adjustments, in seconds, if negative - never adjusted. (-1 - 4294967295)
allow-min-difficulty-blocks = false # Allow lower difficulty blocks if none after 2*<target-block-time>.
# Standard transaction definitions
only-accept-std-txs = true # Only accept and relay transactions which qualify as 'standard'.
max-std-tx-size = 1000000 # Maximum size of standard transactions, in bytes. (1024 - 100000000)
max-std-op-return-size = 1024 # Maximum size of OP_RETURN metadata in standard transactions, in bytes. (0 - 67108864)
max-std-op-drops-count = 0 # Maximum number of OP_DROPs per output in standard transactions. (0 - 100)
max-std-op-drop-size = 0 # Obsolete. Maximum size of OP_DROP metadata in standard transactions, in bytes. (0 - 32768)
# The following parameters were generated by mercante-util.
# They SHOULD ONLY BE EDITED IF YOU KNOW WHAT YOU ARE DOING.
default-network-port = 8666 # Default TCP/IP port for peer-to-peer connection with other nodes.
default-rpc-port = 8667 # Default TCP/IP port for incoming JSON-RPC API requests.
chain-name = mercante # Chain name, used as first argument for mercanted and mercante-cli.
protocol-version = 10002 # Protocol version at the moment of blockchain genesis.
network-message-start = f9beb4d9 # Magic value sent as the first 4 bytes of every peer-to-peer message.
address-pubkeyhash-version = 00 # Version bytes used for pay-to-pubkeyhash addresses.
address-scripthash-version = 05 # Version bytes used for pay-to-scripthash addresses.
private-key-version = 80 # Version bytes used for exporting private keys.
address-checksum-value = 00000000 # Bytes used for XOR in address checksum calculation.
# The following parameters were generated by mercanted.
# They SHOULD NOT BE EDITED.
genesis-pubkey = 0330e07d4521434f68a5cb395b3cf101420b482f418c19bc2194c867c6cffaf25d # Genesis block coinbase output public key.
genesis-version = 1 # Genesis block version.
genesis-timestamp = 1528236000 # Genesis block timestamp.
genesis-nbits = 520159231 # Genesis block difficulty (nBits).
genesis-nonce = 182649 # Genesis block nonce.
genesis-pubkey-hash = 83b7ec4a3ff6bc98c7607a3e251bc937780cd71e # Genesis block coinbase output public key hash.
genesis-op-return-script = 5b6e6f74207365745d # Genesis block coinbase OP_RETURN script.
genesis-hash = 00005c38943cf6d622b5a8c95c27503dad7ad52309ed37475aa452445a2b3089 # Genesis block hash.
chain-params-hash = 41c5936b42572e985fc4dd86bc2049cea769f07e0d06a6cc2dfee19216f9d19f # Hash of blockchain parameters, to prevent accidental changes.
" > /root/.mercante/mercante/params.dat
mercanted mercante@159.65.10.107:8666 -daemon
mercante-cli mercante setgenerate false
clear
echo '
NULLA TENACI INVIA EST VIA MRC V 0.01
For interactive mode
mercante-cli mercante
to stop the daemon
mercante-cli mercante stop
for help
mercante-cli mercante help
Have fun.
'
-------------------- END TEXT TO COPY ABOVE
MERCANTE
MERCANTE is an open source platform for private blockchains, which offers a rich set of features including extensive configurability, rapid deployment, permissions management, native assets and data streams. Although it is designed to enable private blockchains, MERCANTE provides maximal compatibility with the bitcoin ecosystem, including the peer-to-peer protocol, transaction/block formats and Bitcoin Core APIs/runtime parameters.
MERCANTE is licensed under the GPLv3 open source license. We also offer commercial licenses for those wishing to integrate MERCANTE into a proprietary software solution.
Copyright (c) 2014-2017 Coin Sciences Ltd
License: GNU General Public License version 3, see COPYING
Portions copyright (c) 2009-2016 The Bitcoin Core developers
Portions copyright many others - see individual files
System requirements
These compilation instructions have been tested on Ubuntu 14.04 x64 only.
C++ compilers are memory-hungry, so it is recommended to have at least 1 GB of memory available when compiling MERCANTE. With less memory, compilation may take much longer due to swapfile thrashing.
Digitalocean droplet fix locale nano /etc/environment add LC_ALL="en_US.UTF-8" ctrl+x Y
Linux Build Notes (on Ubuntu 14.04 x64)
Install dependencies
sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install libboost-all-dev
sudo apt-get install git
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
Compile MERCANTE for Ubuntu (64-bit)
./autogen.sh
./configure
make
Notes
This will build MERCANTEd, MERCANTE-cli and MERCANTE-util in the src directory.
The release is built with GCC after which strip MERCANTEd strings the debug symbols, which reduces the executable size by about 90%.
Windows Build Notes (on Ubuntu 14.04 x64)
Install dependencies
sudo apt-get update
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils
sudo apt-get install g++-mingw-w64-i686 mingw-w64-i686-dev g++-mingw-w64-x86-64 mingw-w64-x86-64-dev curl
sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev
sudo apt-get install git
sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev
Compile MERCANTE for Windows (64-bit)
./autogen.sh
cd depends
make HOST=x86_64-w64-mingw32 -j4
cd ..
./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 --enable-cxx --disable-shared --enable-static --with-pic
make
Notes
This will build MERCANTEd.exe, MERCANTE-cli.exe and multitchain-util.exe in the src directory.
Mac Build Notes (on MacOS Sierra)
Install dependencies
Install XCode and XCode command line tools
Install git from git-scm
Install brew (follow instructions on brew.sh)
brew install autoconf automake berkeley-db4 libtool boost openssl pkg-config rename
Prepare for static linking
Apple does not support statically linked binaries as documented here, however, it is convenient for end-users to launch a binary without having to first install brew, a third-party system designed for developers.
To create a statically linked MERCANTE which only depends on default MacOS dylibs, the following steps are taken:
Hide the brew boost dylibs from the build system: rename -e 's/.dylib/.dylib.hidden/' /usr/local/opt/boost/lib/*.dylib
Hide the brew berekley-db dylibs from the build system: rename -e 's/.dylib/.dylib.hidden/' /usr/local/opt/berkeley-db@4/lib/*.dylib
Hide the brew openssl dylibs from the build system: rename -e 's/.dylib/.dylib.hidden/' /usr/local/opt/openssl/lib/*.dylib
The default brew cookbook for berkeley-db and boost builds static libraries, but the default cookbook for openssl only builds dylibs.
Tell brew to build openssl static libraries: brew edit openssl In 'def configure_args' change 'shared' to 'no-shared' brew install openssl --force
Compile MERCANTE for Mac (64-bit)
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
./autogen.sh
./configure --with-gui=no --with-libs=no --with-miniupnpc=no
make
Clean up
rename -e 's/.dylib.hidden/.dylib/' /usr/local/opt/berkeley-db\@4/lib/*.dylib.hidden
rename -e 's/.dylib.hidden/.dylib/' /usr/local/opt/boost/lib/*.dylib.hidden
rename -e 's/.dylib.hidden/.dylib/' /usr/local/opt/openssl/lib/*.dylib.hidden
brew edit openssl
In 'def configure_args' change 'no-shared' to 'shared'
Notes
This will build MERCANTEd, MERCANTE-cli and MERCANTE-util in the src directory.