Pages:
Author

Topic: [ANN] 'foo' and 'bar' coins--a "how-to" guide for cut+paste cryptocurrency (Read 26801 times)

newbie
Activity: 8
Merit: 0
Im a little confused here (no complaints though, really thank you for the guide!). It appears that the guide basically shows you how to re-brand litecoin or any other scrypt based coin, not create changes to the coin on top of that (amount of coins, difficulty, etc.). Is this right or am i missing somthing? Thanks again for the guide!

Coins per block, ports, block retarget time, and max coins ever are in there too, check the "Cut and Paste" section.

Otherwise, yes, I've just made it easier (with the changes to the foocoin makefiles and qt.pro file) to compile, and laid it all out in black and white.

Hi guys,

First of all Shakezula, thanks a lot for such good explanation and guide.

I followed all steps in the guide, however I am loosing the main point, thus I am unable to connect machines to start mining. As I read this forum some people also do not understanding this.
Can you please be so kind and explain what I am doing incorrectly. I am struggling with this and really looking forward to understand.


What I do not understand port forwarding:
" Side note: because I use a VPS for this, I don't really need to worry about port forwarding at that end. On the home PC, you will want to forward the port you chose for P2Pport in the cut and paste section to the PC you're using. For this example, that is port 55884. "
What does it mean?  Does it mean that I should add this port in .conf file of the machines? Please explain me.

My case:
1. I am trying to connect compiled coins on two VM machines: VM1 with ip 192.168.122.121 & VM2 with ip 192.168.122.158 (they are able to ping each other).
2. In my conf files I only put rpc username/password.
3. On VM1 I do ./barcoin -testnet -connect=192.168.122.158 &
On VM2 I do ./barcoin -testnet -connect=192.168.122.121 &
4. In .barcoin/testnet3/debug.log i get following:

ThreadSocketHandler started
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
Flushed 0 addresses to peers.dat 42ms
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused


I added this port 55884 to conf file of one of the machines and getting the same error.
Then I added command connect=192.168.122.121:55884 to one of the conf files and started getting this:

trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused

Please help me with this one.
Thank you very much!

I have the same problem.  I am using VMware to host each instance.  I can http from machine A to machine B but and vis versa but when I try to ./barcond -test -connect=x.x.x.x it fails to connect there is nothing in the log of the remote machine so I don't even think the connection is attempted.
newbie
Activity: 1
Merit: 0
Im a little confused here (no complaints though, really thank you for the guide!). It appears that the guide basically shows you how to re-brand litecoin or any other scrypt based coin, not create changes to the coin on top of that (amount of coins, difficulty, etc.). Is this right or am i missing somthing? Thanks again for the guide!

Coins per block, ports, block retarget time, and max coins ever are in there too, check the "Cut and Paste" section.

Otherwise, yes, I've just made it easier (with the changes to the foocoin makefiles and qt.pro file) to compile, and laid it all out in black and white.

Hi guys,

First of all Shakezula, thanks a lot for such good explanation and guide.

I followed all steps in the guide, however I am loosing the main point, thus I am unable to connect machines to start mining. As I read this forum some people also do not understanding this.
Can you please be so kind and explain what I am doing incorrectly. I am struggling with this and really looking forward to understand.


What I do not understand port forwarding:
" Side note: because I use a VPS for this, I don't really need to worry about port forwarding at that end. On the home PC, you will want to forward the port you chose for P2Pport in the cut and paste section to the PC you're using. For this example, that is port 55884. "
What does it mean?  Does it mean that I should add this port in .conf file of the machines? Please explain me.

My case:
1. I am trying to connect compiled coins on two VM machines: VM1 with ip 192.168.122.121 & VM2 with ip 192.168.122.158 (they are able to ping each other).
2. In my conf files I only put rpc username/password.
3. On VM1 I do ./barcoin -testnet -connect=192.168.122.158 &
On VM2 I do ./barcoin -testnet -connect=192.168.122.121 &
4. In .barcoin/testnet3/debug.log i get following:

ThreadSocketHandler started
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
Flushed 0 addresses to peers.dat 42ms
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs
connect() failed after select(): Connection refused


I added this port 55884 to conf file of one of the machines and getting the same error.
Then I added command connect=192.168.122.121:55884 to one of the conf files and started getting this:

trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121:55884 lastseen=0.0hrs connect() failed after select(): Connection refused
trying connection 192.168.122.121 lastseen=0.0hrs connect() failed after select(): Connection refused

Please help me with this one.
Thank you very much!
newbie
Activity: 2
Merit: 0
newbie
Activity: 11
Merit: 0
Hi shakezula
I can't find the github foocoin repository.
https://github.com/foocoin/foocoin

What should we use instead, or where can we find it?

Brain gears turning slowly - I'm guessing we just use barcoin. Could somebody confirm the obvious for me..... and for others just as slow.

 Roll Eyes

Hey dude try https://github.com/bfroemel/smallchange‎.

It follows the structure of foo closely.

gl
newbie
Activity: 11
Merit: 0
I followed the steps, but got stuck in the end.
When starting the demons to connect to the other computer, I keep getting "could not connect to server" and it errors out.

These are two VM's with their own distinct IP addresses.

What am I missing?

Thanks in advance

Dude I'm stuck on the same thing!

Can the OP help out with this part?
legendary
Activity: 924
Merit: 1129

The nice thing about this guide is that it's applicable to nearly any bitcoin-descended cryptocurrency source code.  You don't need the foocoin or barcoin or even Litecoin sources to start with this.  The line numbers won't match, but the features involved in the files you need to edit are the same across a wide variety of sources.  You can download the Bitcoin sources directly to get a known quantity with all the latest bugfixes, or the MEC sources to get some cool extensions, or the Doge sources for ... um, sorry.  I guess there's no reason to do that after all. 



newbie
Activity: 14
Merit: 0
Hi shakezula
I can't find the github foocoin repository.
https://github.com/foocoin/foocoin

What should we use instead, or where can we find it?

Brain gears turning slowly - I'm guessing we just use barcoin. Could somebody confirm the obvious for me..... and for others just as slow.

 Roll Eyes
newbie
Activity: 41
Merit: 0
I followed the steps, but got stuck in the end.
When starting the demons to connect to the other computer, I keep getting "could not connect to server" and it errors out.

These are two VM's with their own distinct IP addresses.

What am I missing?

Thanks in advance
legendary
Activity: 1652
Merit: 1265
newbie
Activity: 41
Merit: 0
If you think the number of new coins coming out now is bad, wait a week or two.
Going to be a mad house.
newbie
Activity: 14
Merit: 0
Thanks shakezula
This is a truly awesome guide and a wonderful contribution to the cryptocoin community - excited to read through it and try some test run implementations.

Love your work! You are a rockstar, sir!
full member
Activity: 231
Merit: 100
newbie
Activity: 13
Merit: 0
I've been looking through the Litecoin source code, and I am interested in possibly creating an alt-coin, but I wouldn't want it to be a cookie cutter coin.

I have a few ideas for implementation that would involve changes to the block-chain database information as well as changes to the data sent and received from miners for security and anonymity purposes. My biggest problem at this point is the fact that the documentation is not well commented, and it's a bit tough to follow. (also I have not actively coded in C++ in 5+ year)

Does anyone have a good reference with detailed explanations or is there a different crypto that has better documented source code?  At this rate it will take me quite a bit of time to just identify the areas that will need to be modified.

Any advice would be greatly appreciated.

This guide tells you exactly what to change and where to change it right down to the filename and line number... Not sure what it is you are looking for...

The guide gives good detailed information about changing information like block generation times, total number of coins and generating a more or less "cookie cutter" crypto currency based on the scrypt algorithm.  What I'm thinking of doing is altering the block-chain database with addition information, changing the way coins are distributed, changing the algorithms for mining as well as how mining is done, and removing the hard cap on total coins and replacing it with some small form of adjusted inflation.  

EDIT:  With the help of cinnamon_carter, I have figured out how/where to adjust block reward for inflation.  For anyone check out "int64 static GetBlockValue(int nHeight, int64 nFees)" of main.cpp. I have not yet determined if it will conflict with anything else.

What I intend to do is quite invasive in comparison to what this guide explains.  I was hoping to cut down on research time by having a discussion with someone who has done extensive work modifying the source code.
sr. member
Activity: 1288
Merit: 257
Chainjoes.com
I've been looking through the Litecoin source code, and I am interested in possibly creating an alt-coin, but I wouldn't want it to be a cookie cutter coin.

I have a few ideas for implementation that would involve changes to the block-chain database information as well as changes to the data sent and received from miners for security and anonymity purposes. My biggest problem at this point is the fact that the documentation is not well commented, and it's a bit tough to follow. (also I have not actively coded in C++ in 5+ year)

Does anyone have a good reference with detailed explanations or is there a different crypto that has better documented source code?  At this rate it will take me quite a bit of time to just identify the areas that will need to be modified.

Any advice would be greatly appreciated.

This guide tells you exactly what to change and where to change it right down to the filename and line number... Not sure what it is you are looking for...
newbie
Activity: 13
Merit: 0
I've been looking through the Litecoin source code, and I am interested in possibly creating an alt-coin, but I wouldn't want it to be a cookie cutter coin.

I have a few ideas for implementation that would involve changes to the block-chain database information as well as changes to the data sent and received from miners for security and anonymity purposes. My biggest problem at this point is the fact that the documentation is not well commented, and it's a bit tough to follow. (also I have not actively coded in C++ in 5+ year)

Does anyone have a good reference with detailed explanations or is there a different crypto that has better documented source code?  At this rate it will take me quite a bit of time to just identify the areas that will need to be modified.

Any advice would be greatly appreciated.
sr. member
Activity: 406
Merit: 250
Woops, the .unix extension is what I have been using lol.

Here is a copy of the terminal if anyone is able to check it out textuploader.com/1syy, perhaps I can find some videos on YouTube. Sorry for bumping this thread with my issues its just very frustrating getting stuck at this point.

You don't appear to be in the src directory of any coin, you need to cd into that directory before you can make it. if you type 'll' you should get a list of all directories in your home and one will probably stick out as the coin, you'll need to 'cd coinname/src' before running the make command.

If it's not there you've probably messed something up pretty bad and should try again from the beginning.

Oh I just opened the terminal from the menu, I will try it out tomorrow. I'm curious how I might integrate the coin into my game. Cheesy
full member
Activity: 168
Merit: 100
Captain Jack Fenderson
Woops, the .unix extension is what I have been using lol.

Here is a copy of the terminal if anyone is able to check it out textuploader.com/1syy, perhaps I can find some videos on YouTube. Sorry for bumping this thread with my issues its just very frustrating getting stuck at this point.

You don't appear to be in the src directory of any coin, you need to cd into that directory before you can make it. if you type 'll' you should get a list of all directories in your home and one will probably stick out as the coin, you'll need to 'cd coinname/src' before running the make command.

If it's not there you've probably messed something up pretty bad and should try again from the beginning.
sr. member
Activity: 406
Merit: 250
Just to be clear, "owenprescott/src% " isn't part of the command.

If you already knew that, then you need to make sure you have 'make' installed, i'm pretty sure it's part of 'build-essentials' on most distributions.

Oh that makes sense, I already installed the build essentials back when I installed Linux (Ubuntu) and it seems to be installed after performing a "checkinstall". I just tried this code:
Code:
make -f makefile.osx USE_UPNP=-
(all on one CMD line)

It returns, "*** No rule to make target 'markefile.unix'. Stop.". Oh well, I will figure it out eventually.  Cheesy


also, if you're using ubuntu that should be makefile.unix, not .osx.

Woops, the .unix extension is what I have been using lol.

Here is a copy of the terminal if anyone is able to check it out textuploader.com/1syy, perhaps I can find some videos on YouTube. Sorry for bumping this thread with my issues its just very frustrating getting stuck at this point.
full member
Activity: 168
Merit: 100
Captain Jack Fenderson
Just to be clear, "owenprescott/src% " isn't part of the command.

If you already knew that, then you need to make sure you have 'make' installed, i'm pretty sure it's part of 'build-essentials' on most distributions.

Oh that makes sense, I already installed the build essentials back when I installed Linux (Ubuntu) and it seems to be installed after performing a "checkinstall". I just tried this code:
Code:
make -f makefile.osx USE_UPNP=-
(all on one CMD line)

It returns, "*** No rule to make target 'markefile.unix'. Stop.". Oh well, I will figure it out eventually.  Cheesy


also, if you're using ubuntu that should be makefile.unix, not .osx.
Pages:
Jump to: