比特币程序比特币程序员
大家好,今天小编来为大家解答以下的问题,关于比特币程序,比特币程序员这个很多人还不知道,现在让我们一起来看看吧!
本文目录
比特币如何算出来的比特币是如何发行的比特币是怎样产生的如何在windows平台下编译比特币bitcoin客户端比特币如何算出来的从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。
以钞票来比喻的话,比特币就是钞票的冠字号码,知道了某张钞票上的冠字号码,就拥有了这张钞票。而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。
在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
钱包
比特币钱包使用户可以检查、存储、花费其持有的比特币,其形式多种多样,功能可繁可简,它可以是遵守比特币协议运行的各种工具,如电脑客户端、手机客户端、网站服务、专用设备;
也可以只是存储著比特币私密密钥的介质,如一张纸、一段暗号、一个快闪U盘、一个文本文档,因为只要掌握比特币的私密密钥,就可以处置其对应地址中包含的比特币。比特币无法存入一般的银行账户,交易只能在比特币网络上进行,使用前需下载客户端或接入线上网络。
以上内容参考百度百科-比特币
比特币是如何发行的比特币就是矿工挖矿时产生的区块奖励,就是用矿机(专门的算力机器)对一个哈希进行运算得到答案,当这个区块被破解时就会产生比特币。
比特币的发行量并不由中本聪控制,而是每一个区块奖励都是固定的,而每隔4年奖励就会减半,所以总量也是固定的2100万,大概在2140年会挖完。
比特币是怎样产生的比特币(Bitcoin)的概念最初由中本聪在2008年11月1日提出,并于2009年1月3日正式诞生。根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。
产生原理
从比特币的本质说起,比特币的本质其实就是一堆复杂算法所生成的特解。特解是指方程组所能得到有限个解中的一组。而每一个特解都能解开方程并且是唯一的。
而挖矿的过程就是通过庞大的计算量不断的去寻求这个方程组的特解,这个方程组被设计成了只有2100万个特解,所以比特币的上限就是2100万个。
要挖掘比特币可以下载专用的比特币运算工具,然后注册各种合作网站,把注册来的用户名和密码填入计算程序中,再点击运算就正式开始。
完成Bitcoin客户端安装后,可以直接获得一个Bitcoin地址,当别人付钱的时候,只需要自己把地址贴给别人,就能通过同样的客户端进行付款。在安装好比特币客户端后,它将会分配一个私钥和一个公钥。需要备份你包含私钥的钱包数据,才能保证财产不丢失。如果不幸完全格式化硬盘,个人的比特币将会完全丢失。
如何在windows平台下编译比特币bitcoin客户端很多朋友都知道如何在linux平台如何编译比特币程序,但是,到了windows平台,
就会感觉到无从下手.其实,比特币程序是跨平台的.
你要编译windows版的比特币程序,基本上有两种方法,一种是在linux平台
(推荐ubuntu13.10)通过交叉编译的方法来编译.另外一种,就是直接在windows平台编译.
我想,你既然要在windows平台使用,我就详细介绍一下如何在windwows平台编译比特币程序.
我的平台:windows7
第一步:安装变编译环境QT和MINGW,msys
1、msys是一个在windows平台模拟shell的程序。
下载安装程序之后,通过安装管理程序,按安装以下内容:
FromMinGWinstallationmanager->Allpackages->MSYS
选中以下安装包
msys-base-bin
msys-autoconf-bin
msys-automake-bin
msys-libtool-bin
点applychanges开始安装。他会自动下载安装好。
需要注意的是,确保不要安装msys-gcc和msys-w32api,因为这两个包和我们的编译系统发生冲突。
很多人出现一些莫名其妙的问题,就是因为这两个包。
2、安装MinGW-builds
下载并解压缩i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z到C盘根目录C:\
注意我的目录结构。你尽量和我一样。
3、设置PATH环境变量,将C:\mingw32\bin;添加到第一个。
4、在命令行模式下输入gc-v会得到以下内容
c:\gcc-v
Usingbuilt-inspecs.
COLLECT_GCC=c:\mingw32\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/lto-wrapper.exe
Target:i686-w64-mingw32
Configuredwith:../../../src/gcc-4.8.2/configure--host=i686-w64-mingw32--build=i686-w64-mingw32--target=i686-w64-mingw32--prefix=/mingw32--with-sysroot=/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/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/mingw482/prerequisites/i686-w64-mingw32-static--with-mpfr=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-mpc=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-isl=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-cloog=/c/mingw482/prerequisites/i686-w64-mingw32-static--enable-cloog-backend=isl--with-pkgversion='i686-posix-dwarf-rev3,BuiltbyMinGW-W64project'--with-bugurl=http://sourceforge.net/projects/mingw-w64CFLAGS='-O2-pipe-I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include-I/c/mingw482/prerequisites/i686-zlib-static/include-I/c/mingw482/prerequisites/i686-w64-mingw32-static/include'CXXFLAGS='-O2-pipe-I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include-I/c/mingw482/prerequisites/i686-zlib-static/include-I/c/mingw482/prerequisites/i686-w64-mingw32-static/include'CPPFLAGS=LDFLAGS='-pipe-L/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/lib-L/c/mingw482/prerequisites/i686-zlib-static/lib-L/c/mingw482/prerequisites/i686-w64-mingw32-static/lib-Wl,--large-address-aware'
Threadmodel:posix
gccversion4.8.2(i686-posix-dwarf-rev3,BuiltbyMinGW-W64project)
至此,你的开发环境已经搭建好了,很简单吧
第二部分:下载bitcoin引用的外部库
我们把它们全部放在C:\deps目录下
2.1安装OpenSSL
进入启动MinGwshell比如目录:(C:\MinGW\msys\1.0\msys.bat)运行这个msys.bat,就会启动一个shell环境,提示符是$
输入命令
cd/c/deps/
tarxvfzopenssl-1.0.1g.tar.gz
cdopenssl-1.0.1g
Configureno-sharedno-dsomingw
make
等待几分钟后,就把openssl编译好了。
2.2下载BerkeleyDB
我们推荐使用4.8版本
同样在msysshell环境下输入以下命令
cd/c/deps/
tarxvfzdb-4.8.30.NC.tar.gz
cddb-4.8.30.NC/build_unix
../dist/configure--enable-mingw--enable-cxx--disable-shared--disable-replication
make
等待编译
2.3安装Boost
msys命令:
cdC:\deps\boost_1_55_0\
bootstrap.batmingw
b2--build-type=complete--with-chrono--with-filesystem--with-program_options--with-system--with-threadtoolset=gccvariant=releaselink=staticthreading=multiruntime-link=staticstage
2.4安装Miniupnpc
cdC:\deps\miniupnpc
mingw32-make-fMakefile.mingwinitupnpc-static
msysshell命令
cd/c/deps/protobuf-2.5.0
configure--disable-shared
make
2.6qrencode:
命令
cd/c/deps/libpng-1.6.10
configure--disable-shared
make
LIBS="../libpng-1.6.10/.libs/libpng16.a../../mingw32/i686-w64-mingw32/lib/libz.a"\
png_CFLAGS="-I../libpng-1.6.10"\
png_LIBS="-L../libpng-1.6.10/.libs"\
configure--enable-static--disable-shared--without-tools
make
2.7安装Qt5库
下载和解压缩
在windows命令行输入:
setINCLUDE=C:\deps\libpng-1.6.10;C:\deps\openssl-1.0.1g\include
setLIB=C:\deps\libpng-1.6.10\.libs;C:\deps\openssl-1.0.1g
cdC:\Qt\5.2.1
configure.bat-release-opensource-confirm-license-static-makelibs-no-sql-sqlite-no-opengl-system-zlib-qt-pcre-no-icu-no-gif-system-libpng-no-libjpeg-no-freetype-no-angle-no-vcproj-openssl-linked-no-dbus-no-audio-backend-no-wmf-backend-no-qml-debug
mingw32-make
setPATH=%PATH%;C:\Qt\5.2.1\bin
cdC:\Qt\qttools-opensource-src-5.2.1
qmakeqttools.pro
mingw32-make
3.下载Bitcoin0.9.1
在msysshell下输入以下命令行:
cp/c/deps/libpng-1.6.10/.libs/libpng16.a/c/deps/libpng-1.6.10/.libs/libpng.a
cd/c/bitcoin-0.9.1
./autogen.sh
CPPFLAGS="-I/c/deps/boost_1_55_0\
-I/c/deps/db-4.8.30.NC/build_unix\
-I/c/deps/openssl-1.0.1g/include\
-I/c/deps\
-I/c/deps/protobuf-2.5.0/src\
-I/c/deps/libpng-1.6.10\
-I/c/deps/qrencode-3.4.3"\
LDFLAGS="-L/c/deps/boost_1_55_0/stage/lib\
-L/c/deps/db-4.8.30.NC/build_unix\
-L/c/deps/openssl-1.0.1g\
-L/c/deps/miniupnpc\
-L/c/deps/protobuf-2.5.0/src/.libs\
-L/c/deps/libpng-1.6.10/.libs\
-L/c/deps/qrencode-3.4.3/.libs"\
./configure\
--disable-upnp-default\
--disable-tests\
--with-qt-incdir=/c/Qt/5.2.1/include\
--with-qt-libdir=/c/Qt/5.2.1/lib\
--with-qt-bindir=/c/Qt/5.2.1/bin\
--with-qt-plugindir=/c/Qt/5.2.1/plugins\
--with-boost-system=mgw48-mt-s-1_55\
--with-boost-filesystem=mgw48-mt-s-1_55\
--with-boost-program-options=mgw48-mt-s-1_55\
--with-boost-thread=mgw48-mt-s-1_55\
--with-boost-chrono=mgw48-mt-s-1_55\
--with-protoc-bindir=/c/deps/protobuf-2.5.0/src
make
stripsrc/bitcoin-cli.exe
stripsrc/bitcoind.exe
stripsrc/qt/bitcoin-qt.exe
这样,你就得到了变异好的bitcoin-cli.exe和bitcoind.exe,bitcoin-qt.exe(windowsQT图形界面的钱包软件)
比特币程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于比特币程序员、比特币程序的信息别忘了在本站进行查找哦。