I discovererd Peershares https://github.com/Peershares/Peershares which is an amazing project, that is a pity that is not actively maintained. Since I wanted to build a coin to distribute to the users of one of my project (and I wanted it full PoS) I looked into Peershares.
I managed to compile it (and even build the genesis block), but only in a Ubuntu 14 docker container.
The problem is I didn’t manage to do a static build of the Qt wallet.
“error while loading shared libraries: libboost_system.so.1.54.0: cannot open shared object file: No such file or directory”`
Then after reading the code of the “peershares.pro” I tried "qmake “RELEASE=1"” before doing “make” in order to get the static build but I get this error
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libcrypto.a(dso_dlfcn.o): undefined reference to symbol ‘dlclose@@GLIBC_2.2.5’ //lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
So at the end I am not sure what to do.
Do you know how I can handle this issue?
Or do you recommend me instead to fork Peercoin (but then I am not sure how I can skip the Proof Of Work, to be Proof Of Stake only)?
By using a solution like Peerassets or even Ethereum ERC20 tokens, I will have to pay fees for each transaction whereas in my project I would have a lot of transaction issued by a few centralized authorities. That’s why I would prefer to run my own blockchain. Also I would like to learn how to do it, for another of my projects.
After reinstalling all “apt-get install qt4-qmake libqt4-dev build-essential libboost-dev libboost-system-dev libboost-filesystem-dev libboost-program-options-dev libboost-thread-dev libssl-dev libdb+±dev” in my Ubuntu 17 I have now a totally other error when trying to run the binary:
Gtk-Message: Failed to load module “overlay-scrollbar”
If you want to learn how to fork and make your own blockchain for learning purposes, i recommend doing it from an active project, such as Peercoin v0.6 develop branch. That way, you won’t be dragging up obsolete support questions, and if you help to resolve bugs or add build instructions, they can also apply back to the parent project.
Peercoin is a hybrid PoW/PoS, but after initial mining and some understanding of the code, you can figure out how to disable one or the other. I think that is how the old Peershares was set up. However, the hybrid is good for adding entropy to the PoS minting, which mitigates gaming the algorithm.
Of course, if the idea is to have a token, PeerAssets seems better. The separation of concerns (currency and backbone chain vs. arbitrary tokens / assets). Maybe you want to learn or use both things, but they don’t have to be the same project. Managing a bitcoin or peercoin derived blockchain in the wild is a big job, and you need a good reason to do it. The Peercoin exchange rate is cheap now, so you could use it. But if PPC goes from $2 to $2000, theoretically the PeerAssets could be moved to a new chain (maybe your own).
Hi nohea, thanks for your answer and seems very legit. That is the question I was asking myself.
The Peercoin exchange rate is cheap now, so you could use it. But if PPC goes from $2 to $2000, theoretically the PeerAssets could be moved to a new chain (maybe your own).
It’s true that it’s a lot more affordable than using an ERC20 token.
Peercoin is a hybrid PoW/PoS, but after initial mining and some understanding of the code, you can figure out how to disable one or the other.
I have the basic knowledge about how PoW and PoS work from the coursera bitcoin course but it’s indeed not enough to understand the full code. Can you give me some hints / links / advices to be able to understand the main parts of the code and then beeing able to disable PoW?
I’ve been on my own journey over the past year trying to understand the Bitcoin and Peercoin systems in order to build cryptocurrency expertise for Hawaiian National economic sovereignty. There are no shortcuts in this space without suffering pain.
From the code perspective, there are various blog and forum posts on creating alt-coins, most on Bitcoin or Litecoin will apply to Peercoin. However, i recommend looking at the section in Peercoin src/main.cpp CreateNewBlock() . It is the entry point for creating a PoW block as well as PoS minting. Just know that Coinbase is the first tx like Bitcoin and CoinStake is reward for minting.
Beyond that, you’ll have a lot more running of nodes with debug options, checking debug.log, and coding/building in your future. Try out running a Peercoin testnet node too. Just remember to give back to the community as well, don’t just extract and move on