More About FABCoin Mining
By: Fab Info
Tags: Articles, Blockchain, Cryptocurrency, Bitcoin Mining, Mining

Fabcoin Mining is simple and accessible.

Why Equihash?

In our previous post, we have announced that we have started using Equihash as proof-of-work for block mining in Fabcoin.

Equihash is a Proof-of-Work algorithm devised by Alex Biryukov and Dmitry Khovratovich. It is based on a computer science and cryptography concept called the Generalized Birthday Problem.

Why Are We Using It?

Equihash has very efficient verification. This could in the future be important for light clients on constrained devices, or for implementing a Fabcoin client inside Ethereum (like BTC Relay, but for Fabcoin ).

Equihash is a memory-oriented Proof-of-Work, which means how much mining you can do is mostly determined by how much RAM you have. We think it is unlikely that anyone will be able to build cost-effective custom hardware (ASICs) for mining in the foreseeable future.

We also think it is unlikely that there will be any major optimizations of Equihash which would give the miners who know the optimization an advantage. This is because the Generalized Birthday Problem has been widely studied by computer scientists and cryptographers, and Equihash is close to the Generalized Birthday Problem. That is: it looks like a successful optimization of Equihash would be likely also an optimization of the Generalized Birthday Problem.

Nevertheless, we are not certain that Equihash is safe against these issues, and if we find some flaw in Equihash or if we find another Proof-of-Work algorithm which offers higher assurance, we may change the Proof-of-Work.

How Can I Mine?

The same way as before! Just add gen=1 to your config file, or run ./src/fabcoindd -gen. Use parameter -G to make GPU mining start , else it will using CPU mining. Use parameter -genproclimit to mention how many CPU core or GPU you want used to mining. using -allgpu to make all GPU to work.

Fabcoin-win10.zip is the our fabcoin binary package which can run on windows 10 environment, please download and run and test it.

Once you have downloaded, in case you need fabcoin to test transaction, we will be willing to send you some testnet fabcoin to start, please join telegram group: https//t.me/fabtoken

How to get your address to start : fabcoin-qt / receive / request payment will provide you new address.

What Are The Mining Requirements?

We set Equihash The memory requirements to around 1 GB of RAM , so you will need that much free memory per mining thread. For GPU mining, we developed GPU mining program based on OpenCL and Ubuntu environment, AMD Rx480 and Nvidia 1080 are certified.

Fabcoin Core Integration/Staging tree

What is Fabcoin?

Fabcoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Fabcoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network. Fabcoin Core is the name of open source software which enables the use of this currency.

For more information, as well as an immediately useable, binary version of the Fabcoin Core software, see https://fabcoin.pro

Read the whitepaper for more details as well https://fa.biz/download/fab-en.pdf.

License

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

Development Process

The master branch is regularly built and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Fabcoin Core.

The contribution workflow is described in CONTRIBUTING.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 OS X, and that unit/sanity tests are run automatically.

Manual Quality Assurance (QA) Testing

Changes should be tested by anyone other than the developers 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 are not straightforward.

Translations

Translations are periodically pulled from Transifex and merged into the git repository. See the translation process for details on how this works.

Important: We do not accept translation changes as GitHub pull requests because the next pull from Transifex would automatically overwrite them again.

Translators should also subscribe to the mailing list and contact the team directly.

Reference:

https://fabcoin.pro

Zcash blog: https://blog.z.cash/why-equihash/

Wikipedia: https://en.wikipedia.org/wiki/Equihash