Pages:
Author

Topic: back to creating new alt coin - page 2. (Read 500 times)

legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 27, 2022, 03:51:21 PM
#27
- do Nº 1 step, change the values and build (as told in nº 3)
- do nº 2 step, generate genesis block (as told in nº2)
You can either leave the genesis block unchanged and skip the second step or generate it, do the required changes and then build the binaries. I recommend you to do the former first, just to see it working.

ps: about the update thing, I am just asking of how to update when we talked time ago of downloading and changing the new core and upload it again, anyways, let me finish this first and then we see the rest
Okay, do one thing at a time.
jr. member
Activity: 78
Merit: 4
January 27, 2022, 03:37:11 PM
#26
if it is ok, or i have to enter some code to reach that to resumen where i was
No, you just enter to that directory.

This is mandatory? as far as I understand if I dont have problems with Sublime Text and the files it is not needed right?
I had been using Notepad++ which changes the permissions. I don't know if that's true with Sublime Text, but it's generally true for most Windows notepads.

3- before building, how I am suposed to change the genesis block exactly?
You need to change the values I've told you in #2 from chainparams.cpp.

1- once finished the genesis block configuration, how i am supossed to build this rightly? wich are the "codes" to enter on terminal for it?
The commands remain the same. Once you've generated a valid genesis block, from the program you've written, you just replace those few values from chainparams.cpp and you're done.

2- how to mining the first block? wich steps I should follow?
[ANN] Genesis Block Generator

3- how to save the genesis block of the chain in the computer? I mean, for later use if the chain is being mined from diferent clients and I wan to update it?
You can't update the genesis block once there are new blocks mined upon it. Unless I didn't understand your question.

4- how I am supossed to update it in the future?
You download the new version of Bitcoin Core and redo those steps.

should I upload it to github once is start mining?
Why do you ask me such thing? It depends on what you want to accomplish.

Perfect, I will go working on and be back soon

first steps Il take:
- do Nº 1 step, change the values and build (as told in nº 3)
- do nº 2 step, generate genesis block (as told in nº2)
- start mining my own coin with the steps told back time


ps: about the update thing, I am just asking of how to update when we talked time ago of downloading and changing the new core and upload it again, anyways, let me finish this first and then we see the rest

thanks!!!!!
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 27, 2022, 10:36:54 AM
#25
if it is ok, or i have to enter some code to reach that to resumen where i was
No, you just enter to that directory.

This is mandatory? as far as I understand if I dont have problems with Sublime Text and the files it is not needed right?
I had been using Notepad++ which changes the permissions. I don't know if that's true with Sublime Text, but it's generally true for most Windows notepads.

3- before building, how I am suposed to change the genesis block exactly?
You need to change the values I've told you in #2 from chainparams.cpp.

1- once finished the genesis block configuration, how i am supossed to build this rightly? wich are the "codes" to enter on terminal for it?
The commands remain the same. Once you've generated a valid genesis block, from the program you've written, you just replace those few values from chainparams.cpp and you're done.

2- how to mining the first block? wich steps I should follow?
[ANN] Genesis Block Generator

3- how to save the genesis block of the chain in the computer? I mean, for later use if the chain is being mined from diferent clients and I wan to update it?
You can't update the genesis block once there are new blocks mined upon it. Unless I didn't understand your question.

4- how I am supossed to update it in the future?
You download the new version of Bitcoin Core and redo those steps.

should I upload it to github once is start mining?
Why do you ask me such thing? It depends on what you want to accomplish.
jr. member
Activity: 78
Merit: 4
January 27, 2022, 09:05:13 AM
#24
Hi, sorry for forgetting to reply.

I was meaning that If I change the letters so was "styling" or making it diferent from bitcoin ones, nevermind it, ill keep them from bitcoin, i guess it doesnt matter
Keep them the same yeah. The only downside is that the users of your altcoin can't distinguish the addresses of bitcoin and yours. Again, leave that for later, build your altcoin first.

Could youplease  tell me how I am supposed to test the coin if I did not managed to finish it? I mean, before building it i guess
You can't test the coin without building the binaries.

I was meaning to edit them
Yes you can edit them, but it's not required. The only thing that it is required to change for your altcoin to not be considered bitcoin is the pchMessageStart values. These define if you're following bitcoin's chain or not.

Hello again blackhat! I am back, sorry for this month outside

I am continuing the project and after fixing all the images of the coin with the right ones, I am stucked and also I have some questions:

1- right now in Ubuntu LTS comand (into windows) and my XXXXcoin folder is inside, wich I assume when i log as root on the terminal of ubuntu, it is already opened that folder, (like when we do cd .. C:\Users\ASUS\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\home\mironkraft\XxxxCoin) if it is ok, or i have to enter some code to reach that to resumen where i was, tell me please

2- on your tutorial, you say at:
Quote
Most notepads change permissions when we mess with LTS. That's why you must run the following lines:
Code:
cd src
sudo chmod 640 validation.cpp
sudo chmod 640 chainparams.cpp
sudo chmod 640 chainparamsbase.cpp
cd consensus
sudo chmod 640 consensus.h
cd ..
cd ..

This is mandatory? as far as I understand if I dont have problems with Sublime Text and the files it is not needed right?

3- before building, how I am suposed to change the genesis block exactly? I already know that I have to go to:
https://github.com/liveblockchain/genesisgen

but how I modify every line? where is the archive? where I am suposed to comply inside of the XxxxCoin folder?

this is how i have it right now:



I know that i have to open the archive and edit some lines, the mithycal phrase as other options
(old tutorial where it says: https://medium.com/@jordan.baczuk/how-to-fork-bitcoin-part-2-59b9eddb49a4)

Do you mind to help me to achieve it correctly?


Other later questions in mind:

1- once finished the genesis block configuration, how i am supossed to build this rightly? wich are the "codes" to enter on terminal for it?


Quote
When it is finished, we build with the following commands:
Code:
PATH=$(echo "$PATH" | sed -e 's/:\/mnt.*//g')
sudo bash -c "echo 0 > /proc/sys/fs/binfmt_misc/status"
cd depends
make HOST=x86_64-w64-mingw32
cd ..
./autogen.sh
CONFIG_SITE=$PWD/depends/x86_64-w64-mingw32/share/config.site ./configure --prefix=/
make
(It may take more than an hour)

The files to open the new Altcoin Core are in altcoin/src/qt:



2- how to mining the first block? wich steps I should follow?

3- how to save the genesis block of the chain in the computer? I mean, for later use if the chain is being mined from diferent clients and I wan to update it?

4- how I am supossed to update it in the future? should I upload it to github once is start mining? how?

sorry again for my bad english

Thanks for your time and patience till now, hope you dont let me down!
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 02, 2022, 07:41:33 AM
#23
Hi, sorry for forgetting to reply.

I was meaning that If I change the letters so was "styling" or making it diferent from bitcoin ones, nevermind it, ill keep them from bitcoin, i guess it doesnt matter
Keep them the same yeah. The only downside is that the users of your altcoin can't distinguish the addresses of bitcoin and yours. Again, leave that for later, build your altcoin first.

Could youplease  tell me how I am supposed to test the coin if I did not managed to finish it? I mean, before building it i guess
You can't test the coin without building the binaries.

I was meaning to edit them
Yes you can edit them, but it's not required. The only thing that it is required to change for your altcoin to not be considered bitcoin is the pchMessageStart values. These define if you're following bitcoin's chain or not.
jr. member
Activity: 78
Merit: 4
January 02, 2022, 07:32:53 AM
#22
Bump!

How I am suposed to test the coin before launch it?

Thanks!
jr. member
Activity: 78
Merit: 4
December 29, 2021, 01:52:35 PM
#21
1- so I can maintain them as the bitcoin original right? wanted to change to make it "unique"
I'm sorry but I fail to understand what you're trying to mean here and because words matter in this subject, I'll have to ask you to repeat it in another way.

I was meaning that If I change the letters so was "styling" or making it diferent from bitcoin ones, nevermind it, ill keep them from bitcoin, i guess it doesnt matter



2- sorry didnt understand fine your answer, never tested if the coin works
You have to make it work first and then check for these secondary changes.[/quote]

Could youplease  tell me how I am supposed to test the coin if I did not managed to finish it? I mean, before building it i guess




1- Do we work on RPC and P2P ports on chainparams?
What do you mean “we work”? Whenever you want to establish a connection you'll use those ports, yeah.[/quote]

I was meaning to edit them jejeje (what a failing english related to crypto...sorry for it)





legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 01:04:26 PM
#20
1- so I can maintain them as the bitcoin original right? wanted to change to make it "unique"
I'm sorry but I fail to understand what you're trying to mean here and because words matter in this subject, I'll have to ask you to repeat it in another way.

2- sorry didnt understand fine your answer, never tested if the coin works
You have to make it work first and then check for these secondary changes.

I guess you mean to change every nMinimumChainWork to ("0x0000000000000000000000000000000000000000000000000000000100010001") on all the lines that we can found on the chainparams right?
Yes. At least if testnet or signet matter in your altcoin.

Also, in the next step, when you say to delete vSeeds.emplace_back, you mean to delete complete lines from the chainparams?
Yes.

1- Do we work on RPC and P2P ports on chainparams?
What do you mean “we work”? Whenever you want to establish a connection you'll use those ports, yeah.

2- What about the seeds? Do they need to be chainged?
The seeds need to be removed. There's no point of having a seed from another block chain.

3- In coin distribution (max supply, block rewards, halving interval, block time, sieze, BIPs) are needed to be changed?
It's your decision. Leave them the same as bitcoin's if you don't care.

4- if the answer of 3 is YES, does it mean that I am making my own way to have own blockchain, meaning it as HARDFORK?
It's not a hard fork if you're building it from scratch. Remember that you start another block chain from 0. A hard fork happens within a certain block of the already existent chain.

5- Doing my own Genesis block means also HardFork?
No.

6- If bitcoin gets updated to 0.23 and my coin is 0.22, as softfork I can update the changes with the original bitcoin? and as HardFork I coulndt update right?
I guess you will be able to. You'll have to take 0.23's source code and rewrite the same values.

Right now, I want to do my own genesis block (I know that in your tutorial doesnt appears)
I've given you a link: https://github.com/liveblockchain/genesisgen
jr. member
Activity: 78
Merit: 4
December 29, 2021, 12:28:47 PM
#19
Well I followed my instinct and done everything

Right now, after going for the genesis block, I would like to ask some questions about the development:

1- Do we work on RPC and P2P ports on chainparams?
2- What about the seeds? Do they need to be chainged?
3- In coin distribution (max supply, block rewards, halving interval, block time, sieze, BIPs) are needed to be changed?
4- if the answer of 3 is YES, does it mean that I am making my own way to have own blockchain, meaning it as HARDFORK?
5- Doing my own Genesis block means also HardFork?
6- If bitcoin gets updated to 0.23 and my coin is 0.22, as softfork I can update the changes with the original bitcoin? and as HardFork I coulndt update right?




Right now, I want to do my own genesis block (I know that in your tutorial doesnt appears)

So, AFAIK I found information about;

Quote

Old tutorial found: https://medium.com/@jordan.baczuk/how-to-fork-bitcoin-part-2-59b9eddb49a4


For me, it keeps understanding that making my own Genesis Block is hardforking

Thanks for your time if you answer

jr. member
Activity: 78
Merit: 4
December 29, 2021, 10:45:28 AM
#18
Well, I go further and ask also, on your tutorial, you say:

Quote
We have to set the difficulty equal with 1, since you will be the only miner at the beginning. At chainparams.cpp change nMinimumChainWork:

Code:
consensus.nMinimumChainWork = uint256S("0x0000000000000000000000000000000000000000000000000000000100010001");

I guess you mean to change every nMinimumChainWork to ("0x0000000000000000000000000000000000000000000000000000000100010001") on all the lines that we can found on the chainparams right?


Also, in the next step, when you say to delete vSeeds.emplace_back, you mean to delete complete lines from the chainparams?

Code:
        vSeeds.emplace_back("seed.XXXXcoin.sipa.be."); // Pieter Wuille, only supports x1, x5, x9, and xd
        vSeeds.emplace_back("dnsseed.bluematt.me."); // Matt Corallo, only supports x9
        vSeeds.emplace_back("dnsseed.XXXXcoin.dashjr.org."); // Luke Dashjr
        vSeeds.emplace_back("seed.XXXXcoinstats.com."); // Christian Decker, supports x1 - xf
        vSeeds.emplace_back("seed.XXXXcoin.jonasschnelli.ch."); // Jonas Schnelli, only supports x1, x5, x9, and xd
        vSeeds.emplace_back("seed.btc.petertodd.org."); // Peter Todd, only supports x1, x5, x9, and xd
        vSeeds.emplace_back("seed.XXXXcoin.sprovoost.nl."); // Sjors Provoost
        vSeeds.emplace_back("dnsseed.emzy.de."); // Stephan Oeste
        vSeeds.emplace_back("seed.XXXXcoin.wiz.biz."); // Jason Maurice


Thanks for your time!
jr. member
Activity: 78
Merit: 4
December 29, 2021, 09:49:02 AM
#17
About the bech32_hrp code, shouldn´t be changed when you change the adresses?
Why do you want so bad to change the prefixes? Have you tested to see if your altcoin is working? The prefix/styling is secondary.

Also, in line 244, if I have to change that bech32 code, I have done it right? or should be another letters?
It seems fine. I don't cross my arms that you just change that variable and the “bc” prefix becomes invalid.

1- so I can maintain them as the bitcoin original right? wanted to change to make it "unique"

I guess the best is to leave it like it was

2- sorry didnt understand fine your answer, never tested if the coin works
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 09:07:36 AM
#16
About the bech32_hrp code, shouldn´t be changed when you change the adresses?
Why do you want so bad to change the prefixes? Have you tested to see if your altcoin is working? The prefix/styling is secondary.

Also, in line 244, if I have to change that bech32 code, I have done it right? or should be another letters?
It seems fine. I don't cross my arms that you just change that variable and the “bc” prefix becomes invalid.
jr. member
Activity: 78
Merit: 4
December 29, 2021, 05:56:16 AM
#15
The SCRIPT_ADDRESS stands for the P2SH addresses, those that start with 3. If you notice it, it has “5” in the decimal version:
Code:
base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,5);

And by going to the page I've linked it you can see the decimal prefixes and their leading symbols:


Change it to whatever you want. Same goes for SECRET_KEY & PUBKEY_ADDRESS.

oH! GREAT! understood!

I will leave it like this (question down also):

Line 140:
Code:
        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,45);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,48);
        base58Prefixes[SECRET_KEY] =     std::vector(1,128);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

        bech32_hrp = "ac";

Line 244
Code:
        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,107);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,65);
        base58Prefixes[SECRET_KEY] =     std::vector(1,239);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};

        bech32_hrp = "tb";

Line 369
Code:
        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,107);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,65);
        base58Prefixes[SECRET_KEY] =     std::vector(1,239);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};

        bech32_hrp = "ta";

Line 466
Code:
        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,107);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,65);
        base58Prefixes[SECRET_KEY] =     std::vector(1,239);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};

        bech32_hrp = "acrt";


About the bech32_hrp code, shouldn´t be changed when you change the adresses?
Also, in line 244, if I have to change that bech32 code, I have done it right? or should be another letters?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 05:25:01 AM
#14
The SCRIPT_ADDRESS stands for the P2SH addresses, those that start with 3. If you notice it, it has “5” in the decimal version:
Code:
base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,5);

And by going to the page I've linked it you can see the decimal prefixes and their leading symbols:


Change it to whatever you want. Same goes for SECRET_KEY & PUBKEY_ADDRESS.
jr. member
Activity: 78
Merit: 4
December 29, 2021, 05:09:56 AM
#13
and what happens with the scrip_adress? shouldnt be changed? or its only pubkey?

Yes, you can change the SCRIPT_ADDRESS too in the same way.

but what is the meaning of chainging it? I mean, if pubkey is something that people sees, for what is the script adress, what it is?

also, I only need to change the pubkey, not the script right?
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 04:50:10 AM
#12
and what happens with the scrip_adress? shouldnt be changed? or its only pubkey?

Yes, you can change the SCRIPT_ADDRESS too in the same way.
jr. member
Activity: 78
Merit: 4
December 29, 2021, 04:39:37 AM
#11
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(120,75);
It should be like this:
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75);

Don't change the “1”, just the number next to it.

and what happens with the scrip_adress? shouldnt be changed? or its only pubkey?
I remember time ago that it needed to be changed
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 04:08:20 AM
#10
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(120,75);
It should be like this:
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75);

Don't change the “1”, just the number next to it.
jr. member
Activity: 78
Merit: 4
December 29, 2021, 04:04:50 AM
#9
*It is really fine? as my point of view those 3 parts should have diferent prefixes, or i am wrong?
It seems fine to me. You've only changed the signature message and the port number, right?

I stuck since I really don´t understand 100% this configuration and what should i do
In my tutorial, I've added this as an example:
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75);

The “75” defines that the addresses will start with the letter “X”. You do the exact thing for any prefix. Choose the leading symbol and replace the number with its decimal version.

- 1 - Yes, signature and port number

- 2 - Ok, I understand that this makes the adress for each "user" / "direction"

How about if I leave it like that?

If not, I will choose 120   q   34

It should be like this right?:

ORIGINAL:
Code:

        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,0);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,5);
        base58Prefixes[SECRET_KEY] =     std::vector(1,128);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

        base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,111);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,196);
        base58Prefixes[SECRET_KEY] =     std::vector(1,239);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};


CHANGED:

Code:

        base58Prefixes[PUBKEY_ADDRESS] = std::vector(120,75);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,5);
        base58Prefixes[SECRET_KEY] =     std::vector(1,128);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x88, 0xB2, 0x1E};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x88, 0xAD, 0xE4};

        base58Prefixes[PUBKEY_ADDRESS] = std::vector(120,75);
        base58Prefixes[SCRIPT_ADDRESS] = std::vector(1,196);
        base58Prefixes[SECRET_KEY] =     std::vector(1,239);
        base58Prefixes[EXT_PUBLIC_KEY] = {0x04, 0x35, 0x87, 0xCF};
        base58Prefixes[EXT_SECRET_KEY] = {0x04, 0x35, 0x83, 0x94};


Sorry if I dont understand clrearly, some technical english is kinda hard for me

Thanks in advance!
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
December 29, 2021, 03:16:41 AM
#8
*It is really fine? as my point of view those 3 parts should have diferent prefixes, or i am wrong?
It seems fine to me. You've only changed the signature message and the port number, right?

I stuck since I really don´t understand 100% this configuration and what should i do
In my tutorial, I've added this as an example:
Code:
base58Prefixes[PUBKEY_ADDRESS] = std::vector(1,75);

The “75” defines that the addresses will start with the letter “X”. You do the exact thing for any prefix. Choose the leading symbol and replace the number with its decimal version.
Pages:
Jump to: