immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 04:35:49 AM |
|
I am making a new coin, and am working through some error codes, so I thought I would create a thread that people could look to when they are building a new coin and run in to problems. This thread will contain not only what I am doing but an entire list of places people can go to get information about making coins. First, here is my error codes. We will get through them this week and the coin will be done by the end of the week, so there will be more information in it by then. https://bitcointalk.org/index.php?topic=1877648.0Video guide https://bitcointalk.org/index.php?topic=1278734.0This is the main guide I am using but there is something wrong with the libraries that he tells you to download for Unbuntu in the description on his first Youtube video. If anyone can solve that problem, share the solution here so that the solution is here for everyone. What we are going to do to solve the problem is just use CentOS instead, as we are more familiar with CentOS, but used Ubuntu thinking that it would be better to do exactly what was in the guide. But because the error messages come up that are mentioned in my thread with the error codes, we realized that it will just be easier to use CentOS for us. Building headless Bitcoin on Windows https://bitcointalk.org/index.php?topic=149479.0Here is a written guide https://bitcointalk.org/index.php?topic=225690.0Here is a thread where someone asked a question, and linked a guide https://bitcointalk.org/index.php?topic=615244.0Here is how to create a Cryptonote https://cryptonotestarter.org/Free & paid coin creation site https://www.walletbuilders.com/http://coloredcoins.org/Coin generator http://build-a-co.in/Paid coin creation https://dev.cryptolife.net/order/custom-altcoin/Price converter https://bitcointalk.org/index.php?topic=1466793.0Source Codes https://github.com/bitcoin/bitcoinhttps://github.com/litecoin-project/litecoinhttps://github.com/peercoin/peercoinhttps://github.com/dogecoin/dogecoinhttps://github.com/novacoin-project/novacoinhttps://github.com/imak81/earthcoinhttps://github.com/lottocoin/lottocoinhttps://github.com/FeatherCoin/Feathercoinhttps://github.com/coinkeeper/2015-06-22_18-30_anoncoinhttps://github.com/LiveChains/asiccoinhttps://github.com/nochowderforyou/clams
|
|
|
|
|
|
|
Be very wary of relying on JavaScript for security on crypto sites. The site can change the JavaScript at any time unless you take unusual precautions, and browsers are not generally known for their airtight security.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 04:54:13 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 05:08:18 AM |
|
Oh, and these. These aren't really coins, but are contracts that are kind of like coins. Kind of like shares of a company that are represented by coins/tokens. They can be used various ways, but are usually advertised as if they are Cryptocurrency, but are not really. https://www.ethereum.org/tokenhttps://bitshares.openledger.info/account/(your Open Ledger username)/assets/ But if you are going to pay for a Bitshares asset, which is expensive, you might as well just pay for your own coin. The only reason you would want an asset over a coin is if you wanted to have complete control over it, where people don't mine it, you distribute it to them like a share of a company.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 05:17:00 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 05:33:53 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 05:48:13 AM |
|
|
|
|
|
PokerDiceMan
|
|
April 20, 2017, 06:02:37 AM |
|
is good information and complete information what is youre recomended create altcoin is easy and good quality walletbuilders is not recomended because altcoin user not interest coin if develop use walletbuilders
|
|
|
|
lorryxiong
Newbie
Offline
Activity: 18
Merit: 0
|
|
April 20, 2017, 08:47:53 AM |
|
Very userful, Thanks for sharing bro!
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 01:50:11 PM |
|
is good information and complete information what is youre recomended create altcoin is easy and good quality walletbuilders is not recomended because altcoin user not interest coin if develop use walletbuilders
My personal philosophy is that if your plan is to make a coin for release on Bitcointalk don't make a coin. Make a coin for you, your family and your friends, or for your kids soccer team and their parents, or for your new social media app, or for other specific reasons like that. If someone is making a coin just to release on this forum, I agree that they shouldn't use coinwallet or even really make a coin. But if they have a reason, then coinwallet is probably ok.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 20, 2017, 10:59:57 PM |
|
|
|
|
|
|
clickerz
|
|
April 20, 2017, 11:55:17 PM |
|
Thank you for posting this very informative info plus the links and resources given. Sometime it crossed in my mind how they make coins,the process involved etc. This gives us an idea how it is done but I think there are many platform to consider, the cryptographic algorithm and many more factors. Altcoins are already flooding with so much shitcoins
|
Open for Campaigns
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 12:51:05 AM |
|
Thanks. This is a great guide, this thread is going to help a lot of people.
|
|
|
|
aioc
|
|
April 21, 2017, 01:20:47 AM |
|
Thanks. This is a great guide, this thread is going to help a lot of people. I'm sure you took a lot of time just to compile this coin and it's worth it,users will bookmark or copy your works ,thanks for taking the time I seldom see a compilation thread in this section and your work is worth it.
|
|
|
|
Elendariel
Member
Offline
Activity: 75
Merit: 10
|
|
April 21, 2017, 01:26:19 AM |
|
Thanks. This is a great guide, this thread is going to help a lot of people. I'm sure you took a lot of time just to compile this coin and it's worth it,users will bookmark or copy your works ,thanks for taking the time I seldom see a compilation thread in this section and your work is worth it. Hey no problem, this was from the beginning ment for people to use since i was vexed that i couldnt find a single step-by-step guide to make my own coin, shoutout to the thread starter too, nice !
|
Found me helpful? Feel free to assist me too! : LTC - Lf3JRFRNqdaFg6CF8931XoYBZABEPSUtit BTC - 182izToMh6JXqRRYBZS4PKgyMgYpcPEZZ4 IOC - idTCxXXB3Wz7Tk2CVq3VEKTdytrWPywaU6
|
|
|
|
hermanhs09
|
|
April 21, 2017, 01:53:23 AM |
|
This is very nice, I'm sure a lot of people will benefit from your compiled list because it is so complete.
But it's not all about creating the coin, it's about promoting as well.
You should add more about promoting and selling the actual altcoin. You want people to start using your coin.
Anyways, it's a great list, love it!
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 02:09:54 AM |
|
This is very nice, I'm sure a lot of people will benefit from your compiled list because it is so complete.
But it's not all about creating the coin, it's about promoting as well.
You should add more about promoting and selling the actual altcoin. You want people to start using your coin.
Anyways, it's a great list, love it!
I don't think it is about promoting and selling. Coins shouldn't be made to be promoted and sold. Coins should be made for a reason, and be attached to something. If Google made a Google coin, it would be the most popular coin in the world at the end of the first week. A lot of people think "If only we could add just one more security feature" that the whole world would use Bitcoin or Altcoins. It's not really about that it's about making a coin for something. Making coins for a reason. Google Coin, Apple Coin, Droid Coin, iOS Coin, Facebook Coin, NASA Coin, these are all coins that would have massive market caps if those companies would make them. And everyone should look to make a coin like that. What are you a part of? Make a coin for your team, for your company, for your favorite food, or your favorite animal, etc. Just make a coin for a reason.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 02:58:48 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 03:08:13 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 01:42:17 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 01:51:35 PM |
|
I have not actually watched this show yet, but while searching for guides I saw a coin with a name similar to the coin in the show, so I thought I would add it here. It's a show about an altcoin startup. http://m.crackle.com/startup/2499348i
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 02:11:17 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 07:21:26 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 07:47:29 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 08:51:40 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 09:15:53 PM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 09:24:43 PM |
|
|
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 21, 2017, 10:03:37 PM |
|
By the way, here is a little more backstory on what I am doing:
I have been using Bitcoin and other coins for a while, so now I am making my own coin. I have a friend that is good at programming, but he has never used coins in his life, so I am getting all the information and he is seeing if he can figure everything out. We used an old guide so we got '-lboost_system', errors, but soon we are going to try it in CentOS instead of Ubuntu and see if we can get it up and running, and now that I know a little bit more about programming (I knew a little, but creating this coin with him has helped me learn a lot more), I am probably going to try to follow one of these guides this weekend and just make one on my own and the CentOS one will either work or not, but I will have one up soon no matter what. And I am also going to be going to school for Computer Science (got awarded $13,000 per semester for classes) and learning C and Java in about a month, so I will find more people that will be interested in doing this and can maybe convince a teacher to get it to be a team effort for an entire class. But in summary, I am going to have a coin up soon no matter what, whether it is this weekend, next week, or in a few months, I will have a coin (and then many coins) up and running.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 12:22:48 AM Last edit: April 22, 2017, 12:42:24 AM by immakingacoin |
|
To Fork a coin, just find it on Github and click the fork icon that says "fork". If you click the part that actually has the word fork on it, it will fork the coin and you can go in and change things.
Important things to change when making a new coin:
Find and replace all of the old coin's names for your coin's name in the main.cpp file (check for lowercase, uppercase, and also with the word "coin" uppercase and lowercase)
Find and replace all the coin identifiers and replace with yours (Ex: Changing Litecoin's [LTC] to Dogecoin's [DOGE])
Change number of coins rewarded in a block where is says "Subsidy"
Change Block time
Change Difficulty (called "Target")
Change Block height and halving time.
Genesis block to "x0" meaning you just delete all the numbers after x0, everywhere there is a genesis block.
I am not sure about forks, but with clones you want to also remove the Merkle root.
Then change the headline to a headline from that day so people know what day you made it.
Change Epoch time to the current epoch time (google "current epoch time")
Remove the Nnonce
Remove the Checkpoints (you need 1)
Change ports if you want
Making some fancy graphics
After that, it's just compiling the coin, and running it (with a fatal error on purpose) to get the Merkle and Nnonce, and mining the Genesis block. Make sure you have uncompiled code also, so you can put the Merkle and everything in it.
Then use Gitian Builder to build the wallet.
And at that point you have a coin and it just has to go up on Github and be mined.
I am going to try to make a coin this weekend and post what I am doing here as I do it, then if that doesn't work I have a friend that helped me build a coin (we had to figure this out together, which is where I got this information and why I decided to put this thread together) but we couldn't get it to compile because we used an old guide so we got '-lboost_system' errors. So if my coin doesn't work this weekend, the guy I am making a coin with is going to try the coin we have been working on on CentOS next week instead of Ubuntu (which we were using because it was in the guide), and he is better with CentOS than Ubuntu. And if that doesn't work I will just make a coin after I take some classes or when I find someone else who is interested while I am taking classes.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 01:00:59 AM Last edit: April 22, 2017, 01:12:29 AM by immakingacoin |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 01:44:34 AM |
|
|
|
|
|
mimini0147
|
|
April 22, 2017, 01:52:49 AM |
|
Great guide, keep it up! Liking the little thread here Will be useful for every individual coin-maker
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 02:34:47 AM |
|
Great guide, keep it up! Liking the little thread here Will be useful for every individual coin-maker Thanks, I have been looking for all the guides for 2 days now and have looked for them before (that's how I found the ones that allowed me to get as far as I did making a coin already), and this thread has more in one place than any other ones. So this will probably become an important thread to anyone who wants to create a coin in the future. And this weekend I will add more, and post updates as I try to make my own coin. I will go through a few guides and will post which guides I use each time, and how well it worked. So everyone will know exactly which guides to use and what problems they might run into.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 04:44:14 AM |
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 05:32:58 PM |
|
I am going to post all of the important information from all these guides I have been posting, and try out as many of them as I can, and post if they worked for me or not. 1st Guide
Ok, so this first link is the guide I used before, and the links following it are the video tutorials that make up the guide, this is the only guide I know of that has videos, I will look for more today though. https://bitcointalk.org/index.php?topic=1278734.0The problem I had with this guide is that when compiling it comes up with the '-lboost_system' error. Everyone on google says that this isn't actually a compiling error, but a linking error, and means that when compiling that the compiler doesn't know to look in the right library. Everyone seems to also think it is an easy fix, and there are various solutions to it on google (such as adding '-mt' to the end of each library in the make file) but none of them seemed to work for me, maybe that will work for you though. If you do use this guide, make sure you read the things under each video in the "read more" section, as there is a lot of information there. 2nd GuideI have not used this second guide, but it is basically the same as the first one, and it doesn't even include the dependencies, which means if I were to use it, it would probably end up with the same error, as I still have not gotten the '-lboost_system' error to stop happening. I will try this one later, but I am on a Windows machine right now so I plan on trying a Windows build.This guide outlines the steps to manually generate a genesis block and start a new blockchain. Once the genesis block is generated, two nodes must be used to start the blockchain. This guide will show you how to do this on one machine, using two data directories and two instances of the daemon. Please note that it is also possible to do this using two physical or virtual machines. Install Dependencies and Mini-UPnP If Peershares has never been run on your machine, be sure to follow the Dependency and Mini-UPnP installation steps, located on the Linux wiki page: https://github.com/Peershares/Peershares/wiki/LinuxClean-up Prior Work If you have already been using your machine to test Peershares builds, it's a good idea to delete your prior working folders and start fresh. $ rm -r ~/.peershares $ rm -r ~/Peershares Clone the Peershares Github Repository $ git clone https://github.com/Peershares/Peershares.gitGet the current unix epoch time from the command line, or, from using a site like Epoch Converter. $ date +%s We'll use this in a few minutes, so copy it down. Edit main.cpp $ cd ~/Peershares/src/ $ (text editor) main.cpp Be sure to turn on line numbering in your text editor. Edit the following lines ... Main.cpp:L2260 - Change the value for the constant, pszTimestamp, to something unique, up to 91 characters: const char* pszTimestamp = "YOUR CUSTOM, VERIFIABLE TIMESTAMP GOES HERE"; Main.cpp:L2261 - Change nTimeGenesis value to current epoch time (captured in the previous step). For example, when this guide was written, the epoch time was 1395169964, so it would be inserted as so: unsigned int nTimeGenesis=1395169964; Main.cpp:L2262 - Make sure that nNonceGenesis=0 Main.cpp:L2266 - For the TestNet genesis block, change the value for the constant, pszTimestamp, to something unique (same length rules apply as the previous timestamp string): Main.cpp:L2267 - Change nTimeGenesis value to current epoch time stamp. This can match the value you used for the previous nTimeGenesis variable, or you can use the epoch time for when you modified this step, either is appropriate. Main.cpp:L2268 - Make sure that nNonceGenesis=0 Complete set of changes from the previous steps: if (fTestNet) { pszTimestamp="YOUR CUSTOM, VERIFIABLE TESTNET TIMESTAMP GOES HERE"; nTimeGenesis=1395170250; nNonceGenesis=0; } Save the file and exit. Compile the daemon $ make -f makefile.unix Run the daemon $ ./peersharesd --daemon It should start and run for a few seconds then stop with an error. This error is our notification that the new genesis block has been generated. That was for real-net. Now lets generate one for testnet. $ ./peersharesd --daemon -testnet It will start and run for a few seconds then stop with an error like the first one. We now have two debug.log files located at: ~/.peershares/debug.log and ~/.peershares/testnet/debug.log. You will find an entry in both of these files starting with 'PPCoin Found Genesis Block:'. Under that entry, you will find values for 'genesis hash=', 'merkle root=' and 'nNonce=' ... We need those three values from both real-net and testnet debug.log files. Edit main.cpp and kernel.cpp $ cd ~/Peershares/src/ $ (text editor) main.cpp Edit the following lines ... Main.cpp:L24 - Change the value for the constant, hashGenesisBlockOfficial, to the new genesis hash value from debug.log. Paste the value in-between the quotation marks, after the leading 0x : static const uint256 hashGenesisBlockOfficial("0x00000053229d58cdda911f4188240d4843f6bca1d8978d3349d87c38976463dd"); Main.cpp:L25 - Change the value for the constant, hashGenesisBlockTestNet, to the new genesis hash value from TestNet debug.log. Paste the value in-between the quotation marks, after the leading 0x : static const uint256 hashGenesisBlockTestNet ("0x00000053229d58cdda911f4188240d4843f6bca1d8978d3349d87c38976463dd"); Main.cpp:L2262 - Change the value for nNonceGenesis to the new nNonce value from debug.log: unsigned int nNonceGenesis=236800; Main.cpp:L2268 - Change the value for nNonceGenesis to the new nNonce value from the TestNet debug.log: unsigned int nNonceGenesis=236800; Main.cpp:L2312 - Change the value for block.hashMerkleRoot == uint256, to the new merkle root hash value from debug.log. Paste the value in-between the quotation marks, after the leading 0x : assert(block.hashMerkleRoot == uint256("0xf0e9ac2cef9820c036e397c738ae5cea91df3724f5418eb6a7450350f2702278")); Main.cpp:L2314 - Change the value for block.hashMerkleRoot == uint256, to the new merkle root hash value from TestNet debug.log. Paste the value in-between the quotation marks, after the leading 0x : assert(block.hashMerkleRoot == uint256("0xf0e9ac2cef9820c036e397c738ae5cea91df3724f5418eb6a7450350f2702278")); Save and exit main.cpp ... Open kernel.cpp: $ (text editor) kernel.cpp nProtocolV03SwitchTime and nProtocolV03TestSwitchTime need to be set to a time in the future, after PoS starts. So just set these to several days in advance. Use the Epoch Converter to get the correct value. Kernel.cpp:L14 - Change the value for nProtocolV03SwitchTime to the to the correct future time. Edit the number after the '=' sign and update the comment to reflect what it was changed to: unsigned int nProtocolV03SwitchTime = 1394841600; // 2014-03-15 00:00:00 UTC Kernel.cpp:L15 - Change the value for nProtocolV03TestSwitchTime to the to the correct future time. Edit the number after the '=' sign and update the comment to reflect what it was changed to: unsigned int nProtocolV03TestSwitchTime = 1396224000; // 2014-03-31 00:00:00 UTC Save and exit kernel.cpp Recompile the daemon $ make -f makefile.unix BDB_INCLUDE_PATH="/usr/local/BerkeleyDB.4.8/include" BDB_LIB_PATH="/usr/local/BerkeleyDB.4.8/lib" Remove and recreate working folder Add a 2nd working folder for instance2, which is needed to start the blockchain. $ rm -r ~/.peershares/ $ mkdir ~/.peershares/ $ mkdir ~/.peershares2/ Move the newly recompiled daemon to working folder $ mv ppcoind ~/.peershares Create conf file and start instance 1 $ cd ~/.peershares $ touch peershares.conf $ (text editor) peershares.conf Add the following lines to the conf file and save: server=1 rpcallowip=127.0.0.1 listen=1 rpcuser=<anything> rpcpassword=<anything> dnsseed=0 port=9090 rpcport=9091 gen=1 Run the daemon $ ./ppcoind --daemon If it stops with an error about blkindex.dat when it is run for the first time, simply run it again and it should work. This is a known issue on the first run attempt. Copy and rename daemon to 2nd instance $ cp ppcoind ~/.peershares2/ppcoind2 Create conf file for 2nd instance $ cd ~/.peershares2 $ touch peershares.conf $ (text editor) peershares.conf Add the following lines to the conf file and save: server=1 rpcuser=<anything> rpcpassword=<anything> port=19090 rpcport=19091 gen=1 Run the 2nd instance of the daemon We must specify the data directory so that the 2nd instance doesn't try to use '~/.peershares' and we must also specify that we want to connect to the IP address of our first instance, which, in this case, is localhost. Be sure to replace with your username. Note that datadir and connect commands can be added to your conf file to simplify things. $ ./ppcoind2 --daemon -datadir=/home/<user>/.peershares2 -connect=127.0.0.1:9090 If either instance stops with an error about blkindex.dat when it is run for the first time, kill the instance and run again with the same command. It should work on the 2nd try. This is a known issue. At this point, your new blockchain should be started and both instances should be generating PoW blocks. Check status with: $ ./ppcoind getinfo $ ./ppcoind getmininginfo $ (text editor) debug.log Or from the 2nd instance dir $ ./ppcoind2 getinfo $ ./ppcoind2 getmininginfo If you wish to start a testnet, add testnet=1 to your conf files, stop and restart the daemons. Note: If difficulty settings are changed in Main.cpp:L37 and Main.cpp:L38, you'll need to recreate the genesis block because the nonce/hash/merkel root will change.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 22, 2017, 09:29:33 PM |
|
3rd GuideHere is a link to the guide https://bitcointalk.org/index.php?topic=149479.0Ok, so I am trying to do this guide now, which is a Windows build, and while everything is downloading fine, I already think I ran into a problem, but I have not done any compiling or anything yet, I am not sure.
The guide says:1.3. Ensure that mingw-builds bin folder is set in your PATH environment variable. On Windows 7 your path should look something like: C:\mingw32\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ But that path does not exist in mine, there is no System/SystemRoot/System32 or anything like that in my mingw32\bin folder, but I guess I will figure out if it works soon enough.
Here is the whole guide: (there may be more on later pages of the thread, but as I am going through the guide if those come up I will add that to this thread)Hi all, I recently went through the process of building bitcoind on windows. I found the official build-msw.txt to be a bit lacking, so I thought that documenting the steps here on the forums could save some time to people wanting to compile their own windows binary. Wink Please note this is mostly for testing purposes. Always use official executables on production environments. The following instructions are intended for use with version 0.9.4. See additional notes if compiling 0.10rc4 or an older 0.8.6 branch. 1. Prepare your build system. I strongly suggest setting up a clean windows virtual machine via Virtualbox or similar. 1.1 Install msys shell: http[Suspicious link removed]/download From MinGW installation manager -> All packages -> MSYS mark the following for installation: msys-base-bin msys-autoconf-bin msys-automake-bin msys-libtool-bin then click on Installation -> Apply changes Make sure no mingw packages are checked for installation or present from a previous install. Only the above msys packages should be installed. Also make sure that msys-gcc and msys-w32api packages are not installed. 1.2 Install MinGW-builds project toolchain: Download http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.2/threads-posix/dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev1.7z/downloadand unpack it to C:\ 1.3. Ensure that mingw-builds bin folder is set in your PATH environment variable. On Windows 7 your path should look something like: C:\mingw32\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ 1.4 Additional checks: C:\MinGW\bin should contain nothing but mingw-get.exe. Your gcc -v output should be: gcc -v Using built-in specs. COLLECT_GCC=c:\mingw32\bin\gcc.exe COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.9.2/lto-wrapper.exe Target: i686-w64-mingw32 Configured with: ../../../src/gcc-4.9.2/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/c/mingw492/i686-492-posix-dwarf-rt_v3-rev1/mingw32 --with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++ --enable-shared --enable-static --disable-multilib --enable-languages=ada,c,c++,fortran,objc,obj-c++,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-isl-version-check --disable-cloog-version-check --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw492/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw492/prerequisites/i686-w64-mingw32-static --with-mpc=/c/mingw492/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw492/prerequisites/i686-w64-mingw32-static --with-cloog=/c/mingw492/prerequisites/i686-w64-mingw32-static --enable-cloog-backend=isl --with-pkgversion='i686-posix-dwarf-rev1, Built by MinGW-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -I/c/mingw492/i686-492-posix-dwarf-rt_v3-rev1/mingw32/opt/include -I/c/mingw492/prerequisites/i686-zlib-static/include -I/c/mingw492/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -I/c/mingw492/i686-492-posix-dwarf-rt_v3-rev1/mingw32/opt/include -I/c/mingw492/prerequisites/i686-zlib-static/include -I/c/mingw492/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/c/mingw492/i686-492-posix-dwarf-rt_v3-rev1/mingw32/opt/lib -L/c/mingw492/prerequisites/i686-zlib-static/lib -L/c/mingw492/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware' Thread model: posix gcc version 4.9.2 (i686-posix-dwarf-rev1, Built by MinGW-W64 project) 2. Download, unpack and build required dependencies. I'll save them in c:\deps folder. 2.1 OpenSSL: http://www.openssl.org/source/openssl-1.0.1l.tar.gzFrom a MinGw shell (C:\MinGW\msys\1.0\msys.bat), unpack the source archive with tar (this will avoid symlink issues) then configure and make: cd /c/deps/ tar xvfz openssl-1.0.1l.tar.gz cd openssl-1.0.1l ./Configure no-zlib no-shared no-dso no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 mingw make 2.2 Berkeley DB: http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gzWe'll use version 4.8 to preserve binary wallet compatibility. From a MinGW shell unpack the source archive, configure and make: cd /c/deps/ tar xvfz db-4.8.30.NC.tar.gz cd db-4.8.30.NC/build_unix ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication make 2.3 Boost: http://sourceforge.net/projects/boost/files/boost/1.57.0/Download either the zip or the 7z archive, unpack boost inside your C:\deps folder, then bootstrap and compile from a Windows command prompt: cd C:\deps\boost_1_57_0\ bootstrap.bat mingw b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage This will compile the required boost libraries and put them into the stage folder (C:\deps\boost_1_57_0\stage). Note: make sure you don't use tarballs, as unix EOL markers can break batch files. 2.4 Miniupnpc: http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.20150206.tar.gzUnpack Miniupnpc to C:\deps, rename containing folder from "miniupnpc-1.9.20150206" to "miniupnpc" then from a Windows command prompt: cd C:\deps\miniupnpc mingw32-make -f Makefile.mingw init upnpc-static 2.5 protoc and libprotobuf: Download https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gzThen from msys shell tar xvfz protobuf-2.6.1.tar.gz cd /c/deps/protobuf-2.6.1 configure --disable-shared make 2.6 qrencode: Download and unpack http://download.sourceforge.net/libpng/libpng-1.6.16.tar.gz inside your deps folder then configure and make: cd /c/deps/libpng-1.6.16 configure --disable-shared make cp .libs/libpng16.a .libs/libpng.a Download and unpack http://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.gz inside your deps folder then configure and make: cd /c/deps/qrencode-3.4.4
LIBS="../libpng-1.6.16/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ png_CFLAGS="-I../libpng-1.6.16" \ png_LIBS="-L../libpng-1.6.16/.libs" \ configure --enable-static --disable-shared --without-tools
make 2.7 Qt 5 libraries: Qt must be configured with ssl and zlib support. Download and unpack Qt base and tools sources: http://download.qt-project.org/official_releases/qt/5.3/5.3.2/submodules/qtbase-opensource-src-5.3.2.7zhttp://download.qt-project.org/official_releases/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.7zThen from a windows command prompt (note that the following assumes qtbase has been unpacked to C:\Qt\5.3.2 and qttools have been unpacked to C:\Qt\qttools-opensource-src-5.3.2): set INCLUDE=C:\deps\libpng-1.6.16;C:\deps\openssl-1.0.1l\include set LIB=C:\deps\libpng-1.6.16\.libs;C:\deps\openssl-1.0.1l
cd C:\Qt\5.3.2 configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug
mingw32-make
set PATH=%PATH%;C:\Qt\5.3.2\bin
cd C:\Qt\qttools-opensource-src-5.3.2 qmake qttools.pro mingw32-make
Note: consider using -j switch with mingw32-make to speed up compilation process. On a quad core -j4 or -j5 should give the best results. 3. Download and unpack Bitcoin 0.9.4 from git https://github.com/bitcoin/bitcoin/archive/v0.9.4.zipFrom msys shell configure and make bitcoin: cd /c/bitcoin-0.9.4
./autogen.sh
CPPFLAGS="-I/c/deps/db-4.8.30.NC/build_unix \ -I/c/deps/openssl-1.0.1l/include \ -I/c/deps \ -I/c/deps/protobuf-2.6.1/src \ -I/c/deps/libpng-1.6.16 \ -I/c/deps/qrencode-3.4.4" \ LDFLAGS="-L/c/deps/db-4.8.30.NC/build_unix \ -L/c/deps/openssl-1.0.1l \ -L/c/deps/miniupnpc \ -L/c/deps/protobuf-2.6.1/src/.libs \ -L/c/deps/libpng-1.6.16/.libs \ -L/c/deps/qrencode-3.4.4/.libs" \ BOOST_ROOT=/c/deps/boost_1_57_0 \ ./configure \ --disable-upnp-default \ --disable-tests \ --with-qt-incdir=/c/Qt/5.3.2/include \ --with-qt-libdir=/c/Qt/5.3.2/lib \ --with-qt-plugindir=/c/Qt/5.3.2/plugins \ --with-qt-bindir=/c/Qt/5.3.2/bin \ --with-protoc-bindir=/c/deps/protobuf-2.6.1/src
make
strip src/bitcoin-cli.exe strip src/bitcoind.exe strip src/qt/bitcoin-qt.exe Additional notes: 64 bit binaries 64 bit binaries can be compiled by using the following toolchain: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.9.2/threads-posix/seh/x86_64-4.9.2-release-posix-seh-rt_v3-rev1.7z/downloadAll dependencies must be rebuilt with the above toolchain. Openssl should be configured for: instead of: Bitcoin v0.10rc4 Since v0.10 Bitcoin depends on gmp: https://gmplib.org/download/gmp/gmp-6.0.0a.tar.xzCompile it in a msys shell tar xvf gmp-6.0.0a.tar.xz cd /c/deps/gmp-6.0.0 ./configure --disable-shared make Then add relevant CPPFLAGS and LDFLAGS when configuring Bitcoin: CPPFLAGS="-I/c/deps/db-4.8.30.NC/build_unix \ -I/c/deps/openssl-1.0.1l/include \ -I/c/deps \ -I/c/deps/protobuf-2.6.1/src \ -I/c/deps/libpng-1.6.16 \ -I/c/deps/qrencode-3.4.4 \ -I/c/deps/gmp-6.0.0" \ LDFLAGS="-L/c/deps/db-4.8.30.NC/build_unix \ -L/c/deps/openssl-1.0.1l \ -L/c/deps/miniupnpc \ -L/c/deps/protobuf-2.6.1/src/.libs \ -L/c/deps/libpng-1.6.16/.libs \ -L/c/deps/qrencode-3.4.4/.libs \ -L/c/deps/gmp-6.0.0/.libs" \ BOOST_ROOT=/c/deps/boost_1_57_0 \ ./configure \ --disable-upnp-default \ --disable-tests \ --with-qt-incdir=/c/Qt/5.3.2/include \ --with-qt-libdir=/c/Qt/5.3.2/lib \ --with-qt-plugindir=/c/Qt/5.3.2/plugins \ --with-qt-bindir=/c/Qt/5.3.2/bin \ --with-protoc-bindir=/c/deps/protobuf-2.6.1/src ompiling with unit tests In order to build unit tests you will need the following: -boost Boost must be configured with --with-test option also. -hexdump To generate test data an hexdump like program is needed. Download and unpack https://github.com/wahern/hexdump then compile hexdump.exe by running: gcc -std=gnu99 -g -O2 -Wall -Wextra -Werror -Wno-unused-variable -Wno-unused-parameter hexdump.c -DHEXDUMP_MAIN -o hexdump.exe Do not forget to add hexdump folder to your PATH environment variable. -bitcoin In order to work with the previously compiled hexdump version Makefile must be patched (src/Makefile.test.include if v0.10, src/Makefile.include if v0.9): --- src/Makefile.test.include Tue Dec 23 20:14:37 2014 +++ src/Makefile.test.include Sat Jan 10 16:53:56 2015 @@ -111,7 +111,7 @@ @$(MKDIR_P) $(@D) @echo "namespace json_tests{" > $@ @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @$(HEXDUMP) -e '8/1 "0x%02x, "' $< | $(SED) -e 's/0x ,//g' >> $@ @echo "};};" >> $@ @echo "Generated $@" @@ -119,6 +119,6 @@ @$(MKDIR_P) $(@D) @echo "namespace alert_tests{" > $@ @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @$(HEXDUMP) -e '8/1 "0x%02x, "' $< | $(SED) -e 's/0x ,//g' >> $@ @echo "};};" >> $@ @echo "Generated $@" bitcoin must be configured without --disable-tests option. Additional notes for older Bitcoin 0.8.6 (may be useful for Bitcoin based altcoins) msys-autoconf, msys-automake and msys-libtool at step 1.1 are not needed. You can skip steps 2.5 and 2.7. Note that openssl v1.0.1k and later may lead to consesus forks: http://sourceforge.net/p/bitcoin/mailman/message/33221963/Compile bitcoind 0.8.6: https://github.com/bitcoin/bitcoin/archive/v0.8.6.zipWith a texteditor edit BOOST_SUFFIX, INCLUDEPATHS and LIBPATHS in your C:\bitcoin-0.8.6\src\makefile.mingw according to your dependencies location: BOOST_SUFFIX?=-mgw49-mt-s-1_57
INCLUDEPATHS= \ -I"$(CURDIR)" \ -I"/c/deps/boost_1_57_0" \ -I"/c/deps/db-4.8.30.NC/build_unix" \ -I"/c/deps/openssl-1.0.1j/include" LIBPATHS= \ -L"$(CURDIR)/leveldb" \ -L"/c/deps/boost_1_57_0/stage/lib" \ -L"/c/deps/db-4.8.30.NC/build_unix" \ -L"/c/deps/openssl-1.0.1j" and add -static option to LDFLAGS in makefile.mingw to compile a statically linked executable. LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static makefile.mingw patch: --- makefile.mingw Thu Dec 05 14:11:26 2013 +++ makefile.mingw Thu Jun 19 20:00:00 2014 @@ -21,15 +21,19 @@ USE_IPV6:=1 DEPSDIR?=/usr/local -BOOST_SUFFIX?=-mgw46-mt-sd-1_52 +BOOST_SUFFIX?=-mgw49-mt-s-1_57 INCLUDEPATHS= \ -I"$(CURDIR)" \ - -I"$(DEPSDIR)/include" - + -I"/c/deps/boost_1_57_0" \ + -I"/c/deps/db-4.8.30.NC/build_unix" \ + -I"/c/deps/openssl-1.0.1j/include" + LIBPATHS= \ -L"$(CURDIR)/leveldb" \ - -L"$(DEPSDIR)/lib" + -L"/c/deps/boost_1_57_0/stage/lib" \ + -L"/c/deps/db-4.8.30.NC/build_unix" \ + -L"/c/deps/openssl-1.0.1j" LIBS= \ -l leveldb \ @@ -47,7 +51,7 @@ DEBUGFLAGS=-g CFLAGS=-mthreads -O2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) # enable: ASLR, DEP and large address aware -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) Upnp support is disabled by default. If you want to compile with upnp support set and add miniupnpc path to INCLUDEPATHS and LIBPATHS: INCLUDEPATHS= \ -I"$(CURDIR)" \ -I"/c/deps/boost_1_57_0" \ -I"/c/deps" \ -I"/c/deps/db-4.8.30.NC/build_unix" \ -I"/c/deps/openssl-1.0.1j/include" LIBPATHS= \ -L"$(CURDIR)/leveldb" \ -L"/c/deps/boost_1_57_0/stage/lib" \ -L"/c/deps/miniupnpc" \ -L"/c/deps/db-4.8.30.NC/build_unix" \ -L"/c/deps/openssl-1.0.1j" From Msys shell compile bitcoind: cd /c/bitcoin-0.8.6/src make -f makefile.mingw strip bitcoind.exe Compile bitcoin-qt 0.8.6 with Qt 4.8: Download and unpack http://download.qt-project.org/official_releases/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zipNote that due to a bug in qt 4.8.6 you will need to explicitly enable windows styles: https://bugreports.qt-project.org/browse/QTBUG-38706Assuming qt sources have been unpacked to C:\Qt\4.8.6, from a windows command prompt: cd C:\Qt\4.8.6 configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples mingw32-make Note that if you skipped bitcoind compilation or if you have cleaned up your source folder you will need to compile libleveldb.a and libmemenv.a libraries before proceeding. From msys shell: cd /C/bitcoin-0.8.6/src/leveldb TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a Comment out genleveldb.commands for win32 LIBS += -lshlwapi #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a } flags for static build: win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static bitcoin-qt.pro patch: --- bitcoin-qt.pro Thu Dec 05 14:11:26 2013 +++ bitcoin-qt.pro Thu Jun 19 20:00:00 2014 @@ -7,6 +7,7 @@ DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE CONFIG += no_include_pwd CONFIG += thread +CONFIG += static # for boost 1.37, add -mt to the boost libraries # use: qmake BOOST_LIB_SUFFIX=-mt @@ -17,6 +18,17 @@ # Dependency library locations can be customized with: # BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH, # BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively +BOOST_LIB_SUFFIX=-mgw49-mt-s-1_57 +BOOST_INCLUDE_PATH=C:/deps/boost_1_57_0 +BOOST_LIB_PATH=C:/deps/boost_1_57_0/stage/lib +BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix +BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix +OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1j/include +OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1j +MINIUPNPC_INCLUDE_PATH=C:/deps/ +MINIUPNPC_LIB_PATH=C:/deps/miniupnpc +QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.4 +QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.4/.libs OBJECTS_DIR = build MOC_DIR = build @@ -47,7 +59,7 @@ # for extra security on Windows: enable ASLR and DEP via GCC linker flags win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat # on Windows: enable GCC large address aware linker flag -win32:QMAKE_LFLAGS *= -Wl,--large-address-aware +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static # use: qmake "USE_QRCODE=1" # libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support @@ -109,7 +121,7 @@ QMAKE_RANLIB = $$replace(QMAKE_STRIP, strip, ranlib) } LIBS += -lshlwapi - genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a + #genleveldb.commands = cd $$PWD/src/leveldb && CC=$$QMAKE_CC CXX=$$QMAKE_CXX TARGET_OS=OS_WINDOWS_CROSSCOMPILE $(MAKE) OPT=\"$$QMAKE_CXXFLAGS $$QMAKE_CXXFLAGS_RELEASE\" libleveldb.a libmemenv.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libleveldb.a && $$QMAKE_RANLIB $$PWD/src/leveldb/libmemenv.a } genleveldb.target = $$PWD/src/leveldb/libleveldb.a genleveldb.depends = FORCE From a windows command prompt configure and make: set PATH=%PATH%;C:\Qt\4.8.6\bin cd C:\bitcoin-0.8.6\ qmake "USE_QRCODE=1" "USE_UPNP=1" "USE_IPV6=1" bitcoin-qt.pro mingw32-make -f Makefile.Release Last updated on 08/02/2015 bitcoin 0.9.4 toolchain: i686-4.9.2-release-posix-dwarf-rt_v3-rev1 openssl-1.0.1l libpng-1.6.16 miniupnpc-1.9.20150206.tar.gz
10/01/2015 compiling unit tests
30/11/2014 toolchain: i686-4.9.2-release-posix-dwarf-rt_v3-rev0 boost_1_57_0 protobuf-2.6.1 libpng-1.6.15 miniupnpc-1.9.20141128 gmp-6.0.0a for current master
28/10/2014 openssl-1.0.1j libpng-1.6.14 do not build unnecessary openssl ciphers and protocols use BOOST_ROOT when configuring bitcoin
28/09/2014 toolchain: i686-4.9.1-release-posix-dwarf-rt_v3-rev1 bitcoin 0.9.3 miniupnpc-1.9.20140911 https://github.com/bitcoin/bitcoin/commit/9f7f504efca27c7d390f121410846b45c1732761 qt5.3.2
10/08/2014 update toolchain i686-4.9.1-release-posix-dwarf-rt_v3-rev0 update dependencies openssl-1.0.1i qrencode-3.4.4 qt4.8.6
02/7/2014 qt5.3.1
20/6/2014 bitcoin 0.9.2.1 mingw-builds 4.9.0 rev2 openssl-1.0.1h qt5.3 libpng-1.6.12 removed older instructions about bitcoin 0.8.6 with qt5
25/5/2014: update toolchain added makefile patch commit
23/4/2014: removed python and activestate perl as they are not needed with current qt config options, use -openssl-linked instead of -openssl (see src\network\ssl\qsslsocket_openssl_symbols.cpp for more info), do not compile shared libraries when building dependencies, libpng 1.6.10.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
April 23, 2017, 01:41:24 AM |
|
Sorry I have not gotten through this guide yet, something came up from my job and I am having to type up a bunch of stuff from a meeting we had. I will finish testing this guide tonight and at the latest get all the way through it tomorrow morning. I will go through a few more guides tomorrow also. I am just having to type up like 20 pages from a meeting we had, and it is taking up a lot of my time today.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
September 05, 2017, 03:30:30 PM |
|
Ok, I am now taking a Programming class. So I will know a little bit more about coding very soon. If anyone wants to use these guides, or talk about making a coin, send me a message. I am going to create a few more threads in order to promote the creation of new softwares around Cryptocurrency.
|
|
|
|
owner232
|
|
September 05, 2017, 06:44:23 PM |
|
Any of these guides from 2017 I am wanting to to fork the latest ltc or dash. Everything appears to be hardcoded or something.
|
Telegram:@owner232 Discord: Owner 232#1337
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 08, 2017, 05:56:42 PM |
|
Ok, so finally. I actually made a Coin, now I am making a Wallet. I used Cryptonote. https://bytecointalk.org/showthread.php?tid=1218Can anyone help with the last part. I did the Build with the "ALL_BUILD" and all that, and I got 3 Files out: miniupnpc.dll miniupnpc.exp miniupnpc.lib What are these and how do they become a Wallet? I am trying this guide also too now. https://github.com/upggr/xmd-coin
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 08, 2017, 08:21:59 PM |
|
Ok, I figured it out I think.
So here now is what I have, I have CXX in a build folder of the Wallet, Boostrapped, all Libraries, all Paths, I have the PATH set to the Cmake Bin so I can >cmake.exe and I have the Submodule of the Coin in the Wallet src folder and I am getting Qt 5.9 right now
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 09, 2017, 08:05:32 AM |
|
Alright, so on 1 Computer I am using the XMD Coin guide and building the Wallet, and on the other Computer I am using a big mixture of guides and am trying to compile the Wallet, but the Wallet already has a Compiled Coin. And on both, I am getting "Access Denied" and then a popup that says "This app can not run on your PC".
And then when I move the directory to the cmake bin, and do cmake, it just does like a normal command. But when I do it in the Wallet, or in the Coin on the other Computer. It says "This app can not run on your PC".
So I think this means that I need Linux. I already tried signing off and signing back on. And I have all the right libraries, and I already have done a build, I just had it pointed at the Cmake bin folder in the command line, so it made a weird file.
Now I am pointing at the Wallet, which was giving me error messages before, and now I am getting a "This app can't run on your PC" message. So I am pretty sure that it this is it. I probably just need to redo the Wallet part on Ubuntu.
If anyone knows why Windows would say that, let me know. And there is more info in the Bytecoin thread link.
|
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 10, 2017, 10:31:34 AM |
|
Ok, so there is something about the qt5gui Libraries, I fixed all the other stuff, then moved out of src into the main wallet folder, and now both cmakelists and makefile executions are bringing up qt5gui Library errors. And I found the Libraries it says it can't find, and this was the same exact last problem I had on Windows. I found this on a Bitcoin thread and put it on Github so it is easier to download. I am about to try this, then go read more about qt5 and qt5gui_dir errors and everything. But once this is done this is it. It's fininsh. https://github.com/MahatmaJapa/AltcoinCompiler
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 11, 2017, 06:34:26 PM |
|
Ok, so, I finished Compiling last night.
The first time, it went to like 50% then some random error. Fixed it. Then it went to 100% and ended right at the executable and said there was no file with the name of my coin. Then I realized that the Symbolic Link I created had an extra folder, because the git had an extra folder. So it was saying "That file doesn't exist".
I figured that out, and now I have the compiler running at 100%, and spitting stuff out.
But the first time, I got 4 things, Connectivity_Tool, Walletd, Minderd and SimpleWallet. They are like desktop icons, and it says they are "executable files" but the computer can't find anything to open then with on linux or windows.
So I tried deleting the build folder and starting fresh, kind of like you do with the Cache. And what came out of that was just 1 single executable that has the name of the coin, and when you click it the splash image comes up, but nothing happens.
So today, I might start from scratch and try to make the coin that way.
|
|
|
|
immakingacoin (OP)
Member
Offline
Activity: 98
Merit: 11
|
|
December 20, 2017, 02:12:14 AM |
|
Here is my Config.json file, what could possibly being causing this not to let me create a wallet in the final compile? And I have the Daemon running on 2 computers, but I am waiting a few hours just to see if they ever find each other. { "base_coin": { "name": "bytecoin", "git": "https://github.com/amjuarez/bytecoin.git" }, "core": { "SEED_NODES": [ "165.227.xxx.xxx:47145", "165.227.xxx.xxx:47145" ], "EMISSION_SPEED_FACTOR": 18, "DIFFICULTY_TARGET": 120, "CRYPTONOTE_DISPLAY_DECIMAL_POINT": 12, "MONEY_SUPPLY": "18446744073709551615", "GENESIS_BLOCK_REWARD": "0", "DEFAULT_DUST_THRESHOLD": 1000000, "MINIMUM_FEE": 1000000, "CRYPTONOTE_MINED_MONEY_UNLOCK_WINDOW": 10, "CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE": 100000, "MAX_TRANSACTION_SIZE_LIMIT": 100000, "CRYPTONOTE_PUBLIC_ADDRESS_BASE58_PREFIX": 86, "DIFFICULTY_CUT_V1": 60, "DIFFICULTY_CUT_V2": 60, "DIFFICULTY_CUT": 0, "DIFFICULTY_LAG_V1": 15, "DIFFICULTY_LAG_V2": 15, "DIFFICULTY_LAG": 0, "DIFFICULTY_WINDOW_V1": 720, "DIFFICULTY_WINDOW_V2": 720, "DIFFICULTY_WINDOW": 17, "ZAWY_DIFFICULTY_V3": 1, "ZAWY_DIFFICULTY_DIFFICULTY_BLOCK_VERSION": 3, "P2P_DEFAULT_PORT": 13200, "RPC_DEFAULT_PORT": 13171, "BYTECOIN_NETWORK": "9714f3c1-b06f-16e9-adce-3e6723dbfcd1", "CRYPTONOTE_NAME": "xxxxCoin", "DAEMON_NAME": "xxxxCoind", "GENESIS_COINBASE_TX_HEX": "010a01ff0001ffffffffffff0f029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd0880712101b8fa97bd629d191fd8e1ce348de0b27abc5182cce772c27d37cac2d63bd10745", "CHECKPOINTS": "0, 010a01ff0001ffffffffffff0f029b2e4c0281c0b02e7c53291a94d1d0cbff8883f8024f5142ee494ffbbd0880712101b8fa97bd629d191fd8e1ce348de0b27abc5182cce772c27d37cac2d63bd10745", "MAX_BLOCK_SIZE_INITIAL": 100000 }, "extensions": [ "core/bytecoin.json", "print-genesis-tx.json" ]
|
|
|
|
omrig
Newbie
Offline
Activity: 1
Merit: 0
|
|
October 07, 2018, 03:45:21 PM |
|
Another service: https://stefa.me
|
|
|
|
moijiashiasei
Copper Member
Jr. Member
Offline
Activity: 134
Merit: 1
|
|
August 29, 2019, 12:34:56 PM |
|
Im providing coin build services, mobile wallets Pm for info Ok, I figured it out I think.
So here now is what I have, I have CXX in a build folder of the Wallet, Boostrapped, all Libraries, all Paths, I have the PATH set to the Cmake Bin so I can >cmake.exe and I have the Submodule of the Coin in the Wallet src folder and I am getting Qt 5.9 right now
|
|
|
|
|