Author

Topic: Coin making guides (Read 6503 times)

copper member
Activity: 134
Merit: 1
August 29, 2019, 07:34:56 AM
#52
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
newbie
Activity: 1
Merit: 0
October 07, 2018, 10:45:21 AM
#51
Another service: https://stefa.me
member
Activity: 98
Merit: 11
December 19, 2017, 09:12:14 PM
#50
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.

Code:
{
    "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"
    ]
member
Activity: 98
Merit: 11
December 11, 2017, 01:34:26 PM
#49
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.
member
Activity: 98
Merit: 11
December 10, 2017, 05:31:34 AM
#48
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
member
Activity: 98
Merit: 11
December 10, 2017, 02:51:34 AM
#47
Ok, so I am on the very very last step.

So, Cryptonote had a bug, and it was corrected here
https://github.com/cryptonotefoundation/cryptonote/commit/531dacc47d686c158fad47e9bb72f6802edcce89

But I don't know where to put that line of code. I am trying to figure it out right now but if anyone can figure out where that goes, post it here.
member
Activity: 98
Merit: 11
December 09, 2017, 03:05:32 AM
#46
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.
member
Activity: 98
Merit: 11
December 08, 2017, 03:21:59 PM
#45
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
member
Activity: 98
Merit: 11
December 08, 2017, 12:56:42 PM
#44
Ok, so finally. I actually made a Coin, now I am making a Wallet. I used Cryptonote.
https://bytecointalk.org/showthread.php?tid=1218

Can 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
member
Activity: 114
Merit: 10
September 05, 2017, 01:44:23 PM
#43
Any of these guides from 2017 I am wanting to to fork the latest ltc or dash. Everything appears to be hardcoded or something.
member
Activity: 98
Merit: 11
September 05, 2017, 10:30:30 AM
#42
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.
member
Activity: 98
Merit: 11
April 22, 2017, 08:41:24 PM
#41
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.
member
Activity: 98
Merit: 11
April 22, 2017, 04:29:33 PM
#40
3rd Guide

Here is a link to the guide
https://bitcointalksearch.org/topic/building-headless-bitcoin-and-bitcoin-qt-on-windows-149479

Ok, 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:

Quote
1.3. Ensure that mingw-builds bin folder is set in your PATH environment variable. On Windows 7 your path should look something like:
Code:
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)


Quote
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/download
and 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:
Code:
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:
Code:
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.gz
From 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:
Code:
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.gz
We'll use version 4.8 to preserve binary wallet compatibility.
From a MinGW shell unpack the source archive, configure and make:
Code:
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:
Code:
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.gz
Unpack Miniupnpc to C:\deps, rename containing folder from "miniupnpc-1.9.20150206" to "miniupnpc" then from a Windows command prompt:
Code:
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.gz
Then from msys shell
Code:
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:
Code:
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:
Code:
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.7z
http://download.qt-project.org/official_releases/qt/5.3/5.3.2/submodules/qttools-opensource-src-5.3.2.7z
Then 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):
Code:
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.zip

From msys shell configure and make bitcoin:
Code:
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/download

All dependencies must be rebuilt with the above toolchain.
Openssl should be configured for:
Code:
mingw64
instead of:
Code:
mingw

Bitcoin v0.10rc4
Since v0.10 Bitcoin depends on gmp: https://gmplib.org/download/gmp/gmp-6.0.0a.tar.xz
Compile it in a msys shell
Code:
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:
Code:
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:
Code:
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):
Code:
--- 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.zip

With a texteditor edit BOOST_SUFFIX, INCLUDEPATHS and LIBPATHS in your C:\bitcoin-0.8.6\src\makefile.mingw according to your dependencies location:
Code:
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.
Code:
LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static

makefile.mingw patch:
Code:
--- 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
Code:
USE_UPNP:=1

and add miniupnpc path to INCLUDEPATHS and LIBPATHS:
Code:
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:
Code:
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.zip
Note 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-38706
Assuming qt sources have been unpacked to C:\Qt\4.8.6, from a windows command prompt:
Code:
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:
Code:
cd /C/bitcoin-0.8.6/src/leveldb
TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a

Comment out genleveldb.commands for win32
Code:
   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:
Code:
CONFIG += static

Code:
win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static

bitcoin-qt.pro patch:
Code:
--- 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:
Code:
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.
member
Activity: 98
Merit: 11
April 22, 2017, 12:32:58 PM
#39
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://bitcointalksearch.org/topic/ann-learncoin-lern-scrypt-clone-coin-with-tutorial-on-how-its-made-1278734

The 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.


Quote
Episode 1:
Introduction / Explanations / OS Setup / Cloning
https://www.youtube.com/watch?v=86jqAfySi64&list=PL3VHTMe_nFkyQKRus_py1WIRQr7FG2009

Episode 2
More cloning and generating merkle root
https://www.youtube.com/watch?v=ENaTmbh8Xuw&feature=youtu.be

Episode 3
Hashing the genesis block
https://www.youtube.com/watch?v=3Jp65Uq_U30&feature=youtu.be

Episode 4:
Creating some "artwork"
https://www.youtube.com/watch?v=1z_ONhDseVE&feature=youtu.be

Episode 5:
Compiling for Windows and uploading to github
https://www.youtube.com/watch?v=YF3oE5uIP64&feature=youtu.be

Episode 6:
Seeing it all running and pool starting
https://www.youtube.com/watch?v=kVPcmirqyOY&feature=youtu.be

2nd Guide

I 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.

Quote
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/Linux
Clean-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.git

Get 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=
rpcpassword=
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=
rpcpassword=
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//.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.
member
Activity: 98
Merit: 11
April 21, 2017, 09:34:47 PM
#37
Great guide, keep it up!

Liking the little thread here Smiley Will be useful for every individual coin-maker Cheesy

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.
member
Activity: 98
Merit: 11
April 21, 2017, 08:58:54 PM
#36
Making a mining portal (there are probably others, but this is the one I know about. I'll look for more guides today and this weekend)
https://github.com/UNOMP/unified-node-open-mining-portal
sr. member
Activity: 322
Merit: 250
April 21, 2017, 08:52:49 PM
#35
Great guide, keep it up!

Liking the little thread here Smiley Will be useful for every individual coin-maker Cheesy
member
Activity: 98
Merit: 11
April 21, 2017, 08:44:34 PM
#34
member
Activity: 98
Merit: 11
April 21, 2017, 08:00:59 PM
#33
member
Activity: 98
Merit: 11
April 21, 2017, 07:22:48 PM
#32
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.

member
Activity: 98
Merit: 11
April 21, 2017, 05:03:37 PM
#31
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.
member
Activity: 98
Merit: 11
April 21, 2017, 04:56:54 PM
#30
I'm looking for Cryptonote and Crpytonight cloning guides, but I found these CPU and GPU miners for Cryptonote incase anyone needs them.
https://bitcointalksearch.org/topic/claymores-cryptonote-amd-gpu-miner-v113-638915
https://bitcointalksearch.org/topic/claymores-cryptonote-windows-cpu-miner-v40-647251

You can make Cryptonotes right through their website Crytonotestarter, but I am looking for a more direct guide for anyone who wants to make it outside of their network of coins.

member
Activity: 98
Merit: 11
April 21, 2017, 04:43:16 PM
#29
Another guide
https://bitcointalksearch.org/topic/a-psuedo-guide-on-how-to-build-an-altcoin-help-fill-in-gaps-193025

Another guide
https://bitcointalksearch.org/topic/ann-foo-and-bar-coins-a-how-to-guide-for-cutpaste-cryptocurrency-217636

Cryptonote, apparently they don't mind people making new coins and believe in plurality, which would probably be a refreshing difference in launching compared to the normal 'shitcoin' reception that most new coins get.
https://bitcointalksearch.org/topic/cryptonote-a-complete-forking-guide-to-create-your-own-cryptonote-currency-673203
member
Activity: 98
Merit: 11
April 21, 2017, 04:24:43 PM
#28
member
Activity: 98
Merit: 11
April 21, 2017, 04:15:53 PM
#27
Another guide
https://pastebin.com/iL9DeTTS
https://bitcointalksearch.org/topic/cloning-a-coin-the-easy-way-in-about-twenty-minutes-1151674

Discussion about forking ETH
https://ethereum.stackexchange.com/questions/2014/how-to-fork-my-own-version-of-eth

According to at least this person, cloning Ethereum is extremely easy and he says there are only 2 steps
https://bitcointalksearch.org/topic/m.13857758

I can't find an Ethereum cloning guide, does anyone know where one is?
member
Activity: 98
Merit: 11
member
Activity: 98
Merit: 11
April 21, 2017, 08:51:35 AM
#22
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
member
Activity: 98
Merit: 11
April 20, 2017, 09:09:54 PM
#18
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.
hero member
Activity: 574
Merit: 500
April 20, 2017, 08:53:23 PM
#17
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!
member
Activity: 98
Merit: 11
April 20, 2017, 08:36:26 PM
#16
I could have posted this in this thread, but I think it is better to just post the link, so that the entire discussion is here. This is part of what I did to make my coin, but here is the main things you have to change to make a coin.
https://bitcointalksearch.org/topic/m.1832507
member
Activity: 75
Merit: 10
April 20, 2017, 08:26:19 PM
#15
Here's a complete guide on creating genesis block, how to edit the source code and control the network: http://www.theseus.fi/bitstream/handle/10024/123896/Sikorski_Timothy.pdf?sequence=1

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 !
hero member
Activity: 2926
Merit: 567
April 20, 2017, 08:20:47 PM
#14
Here's a complete guide on creating genesis block, how to edit the source code and control the network: http://www.theseus.fi/bitstream/handle/10024/123896/Sikorski_Timothy.pdf?sequence=1

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.
member
Activity: 98
Merit: 11
April 20, 2017, 07:51:05 PM
#13
Here's a complete guide on creating genesis block, how to edit the source code and control the network: http://www.theseus.fi/bitstream/handle/10024/123896/Sikorski_Timothy.pdf?sequence=1

Thanks. This is a great guide, this thread is going to help a lot of people.
hero member
Activity: 1414
Merit: 505
Backed.Finance
April 20, 2017, 06:55:17 PM
#12
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.  Cheesy 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  Grin
member
Activity: 75
Merit: 10
April 20, 2017, 06:22:32 PM
#11
Here's a complete guide on creating genesis block, how to edit the source code and control the network: http://www.theseus.fi/bitstream/handle/10024/123896/Sikorski_Timothy.pdf?sequence=1
member
Activity: 98
Merit: 11
member
Activity: 98
Merit: 11
April 20, 2017, 08:50:11 AM
#9
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.
newbie
Activity: 18
Merit: 0
April 20, 2017, 03:47:53 AM
#8
Very userful, Thanks for sharing bro!
hero member
Activity: 602
Merit: 501
Undeads.com - P2E Runner Game
April 20, 2017, 01:02:37 AM
#7
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
member
Activity: 98
Merit: 11
April 20, 2017, 12:48:13 AM
#6
A few cloning guides
https://forum.gethashing.com/t/how-to-clone-a-coin-links-and-resources/3833
http://dillingers.com/blog/2015/04/18/how-to-make-an-altcoin/
https://cryptocointalk.com/topic/3140-shakezulas-scrypt-and-sha256-cryptocurrency-clone-guides/

Not exactly sure what this is, it claims to be an in wallet coin creator, and I assume it is like the ethereum and bitshares assets/contracts, but it may actually be an in wallet coin creator.
https://bitcointalksearch.org/topic/ann-creatio-in-wallet-coin-services-creation-nodes-block-explorers-1699319

Adding premine to coin
http://dillingers.com/blog/2015/04/23/adding-a-premine-to-an-altcoin/

Genesis Blocks
Most of the guides include this information, but I'm adding it just so that there is as much information in this thread as possible
http://stackoverflow.com/questions/20772606/how-to-create-a-genesis-block-of-my-altercoin/22406608#22406608
https://bitcointalksearch.org/topic/m.2035449
member
Activity: 98
Merit: 11
member
Activity: 98
Merit: 11
April 20, 2017, 12:17:00 AM
#4
member
Activity: 98
Merit: 11
April 20, 2017, 12:08:18 AM
#3
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/token
https://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.
member
Activity: 98
Merit: 11
April 19, 2017, 11:54:13 PM
#2
More source code

IPhone Bitcoin Wallets
https://github.com/blockchain/My-Wallet-iPhone
https://github.com/anderschen/WalletIPhone
https://github.com/ruslan93/My-Wallet
https://github.com/hafizh/iWallet
https://github.com/windvoice/IWallet
https://github.com/bsimic0001/AegisWalletIOS

Android Bitcoin Wallets
https://github.com/mycelium-com/wallet
https://github.com/schildbach/bitcoin-wallet
https://github.com/bither/bither-android
https://github.com/MatthewLM/peercoin-android-wallet
https://github.com/Coinprism/android-wallet
https://github.com/blockchain/Android-Wallet-2-App

Browser Wallets
https://github.com/andrewtoth/BitcoinWallet
https://github.com/enriquez/coinpocketapp.com
https://github.com/frozeman/bitcoin-browser-wallet
https://github.com/micheal-swiggs/brollet
https://github.com/gr33nh00d/Wallet_watcher
https://github.com/rippledj/auroracoin-browser-wallet
https://github.com/applsdev/MyWallet-RPC-Communicator

Paper Wallets
https://github.com/ValleZ/Paper-Wallet
https://github.com/dbasch/bitcoin-paper-wallet
https://github.com/spearson78/paperwallet
https://github.com/gehlm/paper-btc
https://github.com/openpaperwallet/openpaperwallet
https://github.com/makevoid/paperbank
https://github.com/bitfrore/bitfrore
https://github.com/cmrust/paperwalletgenerator

Bitcoin Miners
https://github.com/Diablo-D3/DiabloMiner
https://github.com/m0mchil/poclbm
https://github.com/jgarzik/cpuminer
https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
https://github.com/lithander/Minimal-Bitcoin-Miner
https://github.com/jwhitehorn/jsMiner
https://github.com/phoenix2/phoenix
https://github.com/pooler/cpuminer
https://github.com/jgarzik/pyminer
https://github.com/TheSeven/Modular-Python-Bitcoin-Miner
https://github.com/progranism/Bitcoin-JavaScript-Miner
https://github.com/codler/Bitcoin-phpMiner
https://github.com/temujin9/tumen_miner

Faucets
https://github.com/Greedi/bitcoin-faucet
https://github.com/hippich/Faucet
https://github.com/kunwon1/faucet
https://github.com/plaprade/Mojocoin-Faucet
https://github.com/ExploreBTC/BitcoinGrind
https://github.com/Spenzert/CoinFaucet
https://github.com/haskoin/haskoin-faucet
https://github.com/Zen00/openfaucet
https://github.com/blockstrap/faucets
https://github.com/jprichardson/bitcoin-faucet

Bitcoin Charts
https://github.com/yuvalmit/BitCoin
https://github.com/Sourcewerks/BitcoinCharts-PHP
https://github.com/joelthelion/mtgox_chart
https://github.com/jn-pn/cbtc
https://github.com/CryptoMarketMonitor/MarketMonitor
https://github.com/ripper234/Bitcoin-Pie
https://github.com/bitcoinstability/bitcoinstability

Bitcoin Tickers
https://github.com/firebase/btcquote
https://github.com/mertdumenci/Ticker
https://github.com/pheuter/BitcoinTicker
https://github.com/neoranga55/bitcoin-price-ticker
https://github.com/goace/bitcoin-ticker
https://github.com/infincia/BitTicker
https://github.com/DuoSRX/BtcTickerOSX
https://github.com/xvacant/ticker
https://github.com/niedbalski/emacs-btc-ticker
https://github.com/rezin8/ticker
https://github.com/rezin8/ticker
member
Activity: 98
Merit: 11
April 19, 2017, 11:35:49 PM
#1
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://bitcointalksearch.org/topic/i-am-making-a-coin-and-keep-getting-an-error-message-1877648

Video guide
https://bitcointalksearch.org/topic/ann-learncoin-lern-scrypt-clone-coin-with-tutorial-on-how-its-made-1278734
This 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://bitcointalksearch.org/topic/building-headless-bitcoin-and-bitcoin-qt-on-windows-149479

Here is a written guide
https://bitcointalksearch.org/topic/complete-guide-on-how-to-create-a-new-alt-coin-225690

Here is a thread where someone asked a question, and linked a guide
https://bitcointalksearch.org/topic/altcoin-developing-question-615244

Here 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://bitcointalksearch.org/topic/guide-how-to-make-any-altcoin-price-converter-in-2-mins-htmlphp-1466793

Source Codes
https://github.com/bitcoin/bitcoin
https://github.com/litecoin-project/litecoin
https://github.com/peercoin/peercoin
https://github.com/dogecoin/dogecoin
https://github.com/novacoin-project/novacoin
https://github.com/imak81/earthcoin
https://github.com/lottocoin/lottocoin
https://github.com/FeatherCoin/Feathercoin
https://github.com/coinkeeper/2015-06-22_18-30_anoncoin
https://github.com/LiveChains/asiccoin
https://github.com/nochowderforyou/clams
Jump to: