Use both Java and C++ for cryptocurrency development

in codablecash •  7 years ago 

Now making ASIC & GPU resistant hash algorithm, which is yescript. And I decided to use JNI(Java Native Inerface) in calculating nonce.

Performance of nonce calculation is very severe issue to make all full nodes fair for fair coin distribution.

The demerit of using JNI is to make compiled Java binary incompatible for all OS platform. But full node is server software, so I'm going to specify OS and distribution. 

Why C++ is necessary

I've told Java is good programming language before. That's because maintain code is easy. But it has some weakpoints. There are two reasons to use C++.

Java can't use pointer

Java doesn't have pointer, so it have to make new object in order to implement following code.

  • Giving pointer of byte array to other variables
  • Manipulating value on byte array

Java has Bytefuffer class which can share byte array. But it makes more memory object on comparing with C and C++.

Fastest implementation for fair distribution

C++ is much faster than Java, on such codes which use pointer. Therefore if a full node user make codablecash server which uses C++ implementation, the person can calculate nonce much faster.

That means the full node can mine more blocks than others. It causes coin distribution problem.

Therefore I decided to use C++ code with JNI.

Platform of full node server of Codecash

At first, I'm going to make server software whose target is 64bit linux. I guess most of users will use cloud servers, like Digital Ocean and AWS.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

@iizuka, a question, for specific jobs, where you only need to perform mathematical calculations, is it better to use low level languages?

Low level language is necessary for only calculating nonce, because I want to make difference of calculation speed between low and high spec server small.

Very interesting post by you @iizuka..
Visit my block

Thank you! I'm making cryptocurrency every day.

You welcome bro...
Visit my block yes..

Hi @lizuka. I've follow and vote you, would you like to vote me back???? Thank you!!!