Skip to content
SafeCoin. A brand new fork of Komodo with a different emission, distribution, and roadmap.
Branch: master
Clone or download
Pull request Compare This branch is 329 commits ahead, 71 commits behind jl777:master.
Latest commit af0e162 May 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github update Feb 6, 2019
build-aux/m4 rebase Oct 25, 2018
contrib fix build-debian Feb 11, 2019
depends update zeromq #2 Mar 3, 2019
doc bump v2.0.0 Feb 11, 2019
qa bump v2.0.0 Feb 11, 2019
share rebase Oct 25, 2018
src safeids rpc command May 16, 2019
zcutil fix build-debian Feb 11, 2019
.gitattributes Separate protocol versioning from clientversion Oct 29, 2014
.gitignore prepare May 14, 2019
.gitlab-ci.yml Safenodes Feb 6, 2019
.gitmodules new base Apr 30, 2018
.travis.yml Safenodes Feb 6, 2019
AUTH_KEY.json.enc fixing broken auth May 28, 2018
Brewfile Removing unnecessary slashes Aug 18, 2018
COPYING credits Feb 6, 2019
Dockerfile update Feb 6, 2019
INSTALL new base Apr 30, 2018
Makefile.am Safenodes Feb 6, 2019
Makefile.am.patch Safenodes Feb 6, 2019
README-mac.md Safenodes Feb 6, 2019
README.md version fix Feb 11, 2019
SECURE_SETUP.md Support for TLS Feb 6, 2019
autogen.sh Bugfix: Replace bashisms with standard sh to fix build on non-BASH sy… Oct 3, 2014
boost.mk.patch Safenodes Feb 6, 2019
code_of_conduct.md update Feb 6, 2019
configure.ac bump v2.0.0 Feb 11, 2019
configure.ac.patch Safenodes Feb 6, 2019
darwin.host.mk.patch Safenodes Feb 6, 2019
darwin.mk.patch Safenodes Feb 6, 2019
equihash.cpp.patch Safenodes Feb 6, 2019
libsnark.mk.patch Safenodes Feb 6, 2019
libzcashconsensus.pc.in new base Apr 30, 2018
makeDistrib.sh temp Feb 6, 2019
makeReleaseMac.sh Safenodes Feb 6, 2019
migratecoin.sh Safenodes Feb 6, 2019
packages.mk.patch Safenodes Feb 6, 2019
patches Safenodes Feb 6, 2019
resolve.sh rebase Oct 25, 2018
toolchain-info.sh rebase Oct 25, 2018
user-config.jam new base Apr 30, 2018

README.md


Safecoin Logo

Safecoin v2.0.0

==============

This is the official Safecoin sourcecode repository based on https://github.com/fair-exchange/safecoin.

Development Resources

List of Safecoin Platform Technologies

  • Delayed Proof of Work (dPoW) - Additional security layer and Safecoins own consensus algorithm.
  • zk-SNARKs - Safecoin Platform's privacy technology for shielded transactions
  • Tokens/Assets Technology - create "colored coins" on the Safecoin Platform and use them as a layer for securites
  • Reward API - Safecoin CC technology for securities
  • CC - Crypto Conditions to realize "smart contract" logic on top of the Safecoin Platform
  • Jumblr - Decentralized tumbler for SAFE and other cryptocurrencies
  • Assetchains - Create your own Blockchain that inherits all Safecoin Platform functionalities and blockchain interoperability
  • Pegged Assets - Chains that maintain a peg to fiat currencies (SafeCash in progress)
  • Peerchains - Scalability solution where sibling chains form a network of blockchains

Tech Specification

  • Max Supply: 36.2 million SAFE.
  • Block Time: 1M 2s
  • Block Reward: See schedule
  • Mining Algorithm: Equihash 144_5 (Zhash)

About this Project

Safecoin is a fork of the Komodo and Zcash projects, although we have incorporated significant changes including TLS Encryption from Horizen and Equihash 144_5, in collaboration with BTCZ. Safecoin was launched as a pure Proof of Work coin, and has never had any ICO or Sale of any kind. We are an Open Source, Peer to Peer project and we support and contribute to likewise initiatives. Same Zcash is based on Bitcoin's code, with difference Zcash intends to offer a far higher standard of privacy through a sophisticated zero-knowledge proving scheme that preserves confidentiality of transaction metadata. Technical details are available in our Protocol Specification.

Getting started

Dependencies

#The following packages are needed:
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python python-zmq zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake curl

Secure Setup

https://github.com/fair-exchange/safecoin/blob/master/SECURE_SETUP.md

Build Safecoin

This software is based on zcash and considered experimental and is continously undergoing heavy development.

The dev branch is considered the bleeding edge codebase while the master-branch is considered tested (unit tests, runtime tests, functionality). At no point of time do the Safecoin Platform developers take any responsbility for any damage out of the usage of this software. Safecoin builds for all operating systems out of the same codebase. Follow the OS specific instructions from below.

Linux

git clone https://github.com/fair-exchange/safecoin --branch master --single-branch
cd safecoin
./zcutil/fetch-params.sh
# -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use
./zcutil/build.sh -j8
#This can take some time.

OSX

Ensure you have brew and the command line tools installed (comes automatically with XCode) and run:

brew update && brew install gcc@6
git clone https://github.com/fair-exchange/safecoin --branch master --single-branch
cd safecoin
./zcutil/fetch-params.sh
# -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use
./zcutil/build-mac.sh -j8
#This can take some time.

Windows

Use a debian cross-compilation setup with mingw for windows and run:

git clone https://github.com/fair-exchange/safecoin --branch master --single-branch
cd safecoin
./zcutil/fetch-params.sh
# -j8 = using 8 threads for the compilation - replace 8 with number of threads you want to use
./zcutil/build-win.sh -j8
#This can take some time.

safecoin is experimental and a work-in-progress. Use at your own risk.

To reset the Safecoin blockchain change into the ~/.safecoin data directory and delete the corresponding files by running rm -rf blocks chainstate debug.log safecoinstate db.log

Create safecoin.conf

Create a safecoin.conf file:

mkdir ~/.safecoin
cd ~/.safecoin
touch safecoin.conf

#Add the following lines to the safecoin.conf file:
rpcuser=yourrpcusername
rpcpassword=yoursecurerpcpassword
rpcbind=127.0.0.1
txindex=1
addnode=dnsseedua.local.support
addnode=dnsseed.ipv6admin.com
addnode=dnsseed.fair.exchange
addnode=explorer.safecoin.org
addnode=45.63.13.60
addnode=185.20.184.51
addnode=176.107.179.32
addnode=node.safc.cc

Create your own Blockchain based on Safecoin

Safecoin allows anyone to create a runtime fork which represents an independent Blockchain. Below are the detailed instructions: Setup two independent servers with at least 1 server having a static IP and build safecoind on those servers.

On server 1 (with static IP) run:

./safecoind -ac_name=name_of_your_chain -ac_supply=100000 -bind=ip_of_server_1 &

On server 2 run:

./safecoind -ac_name=name_of_your_chain -ac_supply=100000 -addnode=ip_of_server_1 -gen &

Safecoin is based on Zcash which is unfinished and highly experimental. Use at your own risk.

License

For license information see the file COPYING.

NOTE TO EXCHANGES: https://bitcointalk.org/index.php?topic=1605144.msg17732151#msg17732151 There is a small chance that an outbound transaction will give an error due to mismatched values in wallet calculations. There is a -exchange option that you can run safecoind with, but make sure to have the entire transaction history under the same -exchange mode. Otherwise you will get wallet conflicts.

To change modes:

a) backup all privkeys (launch safecoind with -exportdir=<path> and dumpwallet) b) start a totally new sync including wallet.dat, launch with same exportdir c) stop it before it gets too far and import all the privkeys from a) using safecoin-cli importwallet filename d) resume sync till it gets to chaintip

For example:

./safecoind -exportdir=/tmp &
./safecoin-cli dumpwallet example
./safecoin-cli stop
mv ~/.safecoin ~/.safecoin.old && mkdir ~/.safecoin && cp ~/.safecoin.old/safecoin.conf ~/.safecoin.old/peers.dat ~/.safecoin
./safecoind -exchange -exportdir=/tmp &
./safecoin-cli importwallet /tmp/example

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.

You can’t perform that action at this time.