欢迎您, 来到 宁时修博客.^_^

区块链01---比特币bitcoin节点部署

2018/07/24 言则行 区块链 2360
比特币节点部署

一、说明

    测试环境在CentOS 7.4上的,内存3G,CPU 2核,磁盘20G。

    bitcoin在同步blocks时需要大量磁盘空间,如果需要全部同步,准备100G以上的磁盘。


二、依赖包

    官方说明:https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md


    名字                     目的                        说明

    openssl-devel      Crypto                   随机数生成,椭圆曲线加密

    boost-devel         Utility                    线程、数据结构

    libevent-devel     Networking           独立于操作系统的异步网络

    protobuf-devel    Payments in GUI   支付协议中的数据交换格式(only needed when GUI enabled)

    qrencode-devel    QR codes in GUI   生成QR码(二维码)(only needed when GUI enabled)

    qt-devel              GUI                         GUI toolkit (only needed when GUI enabled)

    libdb                   Berkeley DB            钱包存储 (only needed when wallet enabled)



三、依赖安装

yum install boost-devel libevent-devel openssl-devel gcc gcc-c++ qt-devel protobuf-devel qrencode-devel libtool git autoconf automake -y


    libdb(BerkeleyDB):

    官方地址:https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index-082944.html

    Bit Coin钱包需要BerkeleyDB的支持,需要BerkeleyDB 4.8 版本来保持钱包的兼容性,CentOS 没有libdb,所以编译安装了高版本BerkeleyDB,在编译Bitcoin时增加配置--with-incompatible-bdb,设置不需要保持兼容性。不然会报错的:

configure: error: libdb_cxx headers missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)


    BerkeleyDB编译安装:

cd /usr/local/src/
wget http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz
tar zxf db-5.1.29.NC.tar.gz
cd db-5.1.29.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/usr/local/db5
make install

    没有报错就安装好了。



四、编译安装bitcoin


cd /usr/local/src/
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin
./autogen.sh
./configure --with-incompatible-bdb --prefix=/usr/local/bitcoin LDFLAGS="-L/usr/local/db5/lib/" CPPFLAGS="-I/usr/local/db5/include/"
make
make install

# 查看命令
ls /usr/local/bitcoin/bin/
bench_bitcoin  bitcoin-cli  bitcoind  bitcoin-qt  bitcoin-tx  test_bitcoin  test_bitcoin-qt

 


五、配置bitcoin.conf

        所有的命令行选项 (除 '-datadir' 和 '-conf'外) 都可以在配置文件中配置, 所有的配置文件选项也都可以写在命令行参数中。命令行选项优先级高于配置文件参数。

        配置文件以'setting=value'对的形式书写,每行一个配置,注释以 '#' 开头。

        配置文件不会自动创建,可以使用自己喜欢的文本编辑器创建。默认情况下bitcoind命令会在比特币数据目录下寻找一个名为bitcoin.conf文件当作配置文件。数据目录和配置文件都可以使用命令行参数'-datadir' 和 '-conf'修改。


         bitcoin.conf文件位于$HOME/.bitcoin目录下(仅限Linux系统)。


     参考:https://en.bitcoin.it/wiki/Running_Bitcoin#Bitcoin.conf_Configuration_File


#网络相关的设置:
#在测试网络中运行,而不是在真正的比特币网络。开启或关闭测试网络。
testnet=['1'|'0'] 

#通过一个 Socks4 代理服务器连接
proxy=127.0.0.1:9050

###########################################################
##            addnode 与 connect 的区别
##  假设您使用了 addnode=4.2.2.4 参数,那么 addnode 便会与
##  您的节点连接,并且告知您的节点所有与它相连接的其它节点。
##  另外它还会将您的节点信息告知与其相连接的其它节点,这样它
##  们也可以连接到您的节点。
##
##  connect 在您的节点“连接”到它的时候并不会做上述工作。仅
##  它会与您连接,而其它节点不会。
##  因此如果您位于防火墙后,或者因为其它原因无法找到节点,则
##  使用“addnode”添加一些节点。
##
##  如果您想保证隐私,使用“connect”连接到那些您可以“信任”的节点。
##  如果您在一个局域网内运行了多个节点,您不需要让它们建立许多
##  连接。您只需要使用“connect”让它们统一连接到一个已端口转
##  发并拥有多个连接的节点。
###########################################################

#可以在下面使用多个 addnode= 设置连接到指定的节点
addnode=69.164.218.197
addnode=10.0.0.2:8333

#或使用多个 connect= 设置仅连接到指定的节点
connect=69.164.218.197
connect=10.0.0.1:8333

#不使用因特网中继聊天(IRC)(irc.lfnet.org #bitcoin 频道)来查找其它节点
noirc=['1'|'0'] 

#入站+出站的最大连接数
maxconnections='value'

#JSON-RPC 选项(用于控制运行中的 Bitcoin/bitcoind 进程)
#告知 bitcoin 接受或不接受 JSON-RPC 命令
server=['1'|'0'] 

#必须设置 rpcuser 以保护 JSON-RPC API
rpcuser='Your Username'

#必须设置 rpcuser 以保护 JSON-RPC API
rpcpassword='Your Password' 

#客户端在 HTTP 连接建立后,bitcoin将等待多少秒以完成一个 RPC HTTP 请求
rpctimeout=30

#默认仅允许来自localhost的 RPC 连接。在这里您可以指定多个来设置想允许连接的其它主机 IP 地址。可以使用 * 作为通配符。
rpcallowip='192.168.1.*'
rpcallowip=10.1.1.34


#端口监听此端口上的 RPC 连接
rpcport=8332

#可以通过如下设置使用 Bitcoin 或 bitcoind 来发送命令到一个在其它主机远程运行的 Bitcoin/bitcoind 客户端
rpcconnect=127.0.0.1

#使用安全套接层(也称为 TLS 或 HTTPS)来连接到 Bitcoin -server 或 bitcoind
rpcssl=1

#当 rpcssl=1 时使用的 OpenSSL 设置
rpcsslciphers=TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH
rpcsslcertificatechainfile=server.cert
rpcsslprivatekeyfile=server.pem

#其它选项:
#启用或禁用尝试生成比特币(采矿),1为启用。
gen=['0'|'1']

#启用或禁用使用SSE指令以尝试更快地生成比特币。
4way=['0'|'1']

#预生成如下数目的公钥和私钥,这样钱包备份便可以对已有的交易以及未来多笔交易有效
keypool=100

#每次发送比特币的时候支付一个可选的额外的交易手续费。包含手续费的交易会更快的被包含在新生成的货币块中,因此会更快生效
paytxfee=0.00

#允许直接连接,实现“通过 IP 地址支付”功能
allowreceivebyip=1

#用户界面选项:
#启用或禁用最小化比特币客户端
min=['0'|'1']

#启用或禁用最小化系统托盘
minimizetotray=['0'|'1']


        配置文件:

cat /usr/local/bitcoin/bitcoin.conf 
## bitcoin configure
rpcuser=btcuser
rpcpassword=Z6AbbIB2cY0MOQ
rpcport=8332
rpcallowip=192.168.2.0/24
datadir=/data/bitcoin/
daemon=1
server=1
txindex=1
testnet=1


六、运行命令

    参考:https://en.bitcoin.it/wiki/Running_Bitcoin#Command-line_arguments

Usage:
  bitcoind [options]                     Start Bitcoin Core Daemon

Options:

  -?    
          Print this help message and exit
  -alertnotify=<cmd>
          收到相关警报后执行命令或看到一个非常长的fork(命令中的%s会被消息替换)
  -assumevalid=<hex>
  -blocknotify=<cmd>
          当最佳的货币块更改时执行的命令(命令中的%s会被替换为货币块哈希值)
  -blockreconstructionextratxn=<n>
          为了简化块重建而保留在内存中的额外交易数(默认值:100)
  -blocksdir=<dir>
          指定blocks的目录(默认值:<datadir>/blocks)
  -conf=<file>
          指定配置文件(默认值bitcoin.conf)
  -daemon
          在后台以守护进程运行并接收命令
  -datadir=<dir>
          指定数据目录
  -dbcache=<n>
          设置数据库缓存大小(以 MB 为单位)(4到16384,默认值:450)
  -debuglogfile=<file>
          指定调试日志文件的位置,(0表示禁用,默认:debug.log)
  -includeconf=<file>
          指定额外的配置文件,相对于-datadir路径(仅可用于配置文件,而不是命令行)
  -loadblock=<file>
          启动时从外部 blk000??.dat 文件导入blocks
  -maxmempool=<n>
          将事务内存池保持在 <n> MB以下(默认值:300)
  -maxorphantx=<n>
          在内存中最多保留 <n> 个不可连接的事务(默认值:100)
  -mempoolexpiry=<n>
          不要让内存池中交易时间超过 <n> 小时(默认值:336)
  -par=<n>
          设置验证线程的脚本数量(-2到16,0=自动,<0 = 保留许多核心空闲,默认值:0)
  -persistmempool
          是否在关闭保存内存池并在重启时加载(默认值:1)
  -pid=<file>
          指定pid文件(默认值:bitcoind.com)
  -prune=<n>
          通过启用修剪(删除)旧blocks来降低存储需求。这允许调用pruneblockchain RPC来深处特定的blocks,并且如果提供MiB中的目标大小,则允许对旧blocks进行自动修剪。此模式与 -txindex和 -rescan不兼容。警告:恢复此设置需要重新下载整个区块链。(默认值:0=禁用修剪blocks,1=允许通过RPC手动修剪,>550 = 自动修剪blocks文件以保持在MiB中指定的目标大小)
  -reindex
          从磁盘上的blk*.dat文件重建链状态和块索引
  -reindex-chainstate
          从当前索引的块重建链状态
  -sysperms
          创建新文件时使用系统默认权限,而不是umask 077(仅对已禁用的钱包功能有效)
  -txindex
          维护由getrawtransaction rpc调用使用的完整事务索引(默认值:0)
  -version
          打印版本信息并退出

Connection options:
  -addnode=<ip>
          添加一个节点与之连接并尝试保持这个连接(有关详细信息,请参阅‘addnode’ RPC命令帮助)。可以多次指定此选项以添加多个节点。
  -banscore=<n>
          与行为异常节点断开的阈值(默认值:100)
  -bantime=<n>
          让行为异常节点重新连接所间隔的秒数(默认值:86400)
  -bind=<addr>
          绑定一个地址,并始终监听它,对于IPv6使用 [host]:port表示
  -connect=<ip>
          仅连接到指定节点;-connect=0 禁用自动连接(此规则与-addnode相同)。可以多次指定此选项以连接到多个节点
  -discover
          发现自己的IP地址(默认值:当没有-externalip或-proxy监听,则为1)
  -dns
          -addnode,-seednode和-connect允许DNS查询(默认值:1)
  -dnsseed
          通过DNS查询节点地址(默认值:1,除非使用 -connect)
  -enablebip61
          按BIP61发送拒绝消息(默认值1)
  -externalip=<ip>
          指定自己的公网地址
  -forcednsseed
          总是通过DNS查询节点地址(默认值:0)
  -listen
          接受来自外部连接(如果没有-proxy或-connect,则为1)
  -listenonion
          自动创建Tor隐藏服务(默认值:1)
  -maxconnections=<n>
          最多保持与节点的 <n>个连接(默认值:125)
  -maxreceivebuffer=<n>
          每个连接的最大接收缓冲,<n> * 1000字节(默认值:5000)
  -maxsendbuffer=<n>
          每个连接的最大发送缓冲,<n> * 1000字节(默认值1000)
  -maxtimeadjustment
  -maxuploadtarget=<n>
          试图保持指定目标的出站流量(每24小时MiB),0 = 无限制(默认值0)
  -onion=<ip:port>
          通过Tor隐藏服务使用单独的SOCKS5代理到达节点
  -onlynet=<net>
          仅通过网络<net> (ipv4,ipv6或onion)建立传出连接,传入的连接不受此选项的影响。可以多次指定此选项以允许多个网络。
  -peerbloomfilters
          支持bloom过滤器过滤blocks和事务(默认值:1)
  -permitbaremultisig
  -port=<port>
          监听<port>的连接(默认值:8333或testnet:18333)
  -proxy=<ip:port>
          通过SOCKS5代理连接
  -proxyrandomize
          随机化每个代理连接的凭据,这将启用Tor流隔离(默认值:1)
  -seednode=<ip>
          连接到节点检索同伴地址,并断开连接。可以多次指定此选项以连接到多个节点
  -timeout=<n>
          指定连接超时时间,以毫秒为单位(最小值:1,默认值:5000)
  -torcontrol=<ip>:<port>
          如果启用onion监听则使用Tor控制断口(默认值:127.0.0.1:9051)
  -torpassword=<pass>
          Tor控制断口密码(默认值:空)
  -whitebind=<addr>
          绑定指定地址并列入白名单连接,IPv6使用 [host]:port
  -whitelist=<IP address or network>
          从指定IP(例如:1.2.3.4)或CIDR标记网络(例如:1.2.3.0/24)连接的白名单同伴,可以多次指定。列入白名单的同伴不能呗DoS拒绝,并且他们的交易总是被转发,即使他们已经在内存池中,例如对于网关有用。

Wallet options:
  -addresstype
          使用什么类型的地址(”legacy“,”p2sh-segwit“,或”bech32“,默认值:"p2sh-segwit")
  -changetype 
  -disablewallet
  -discardfee=<amt>
  -fallbackfee=<amt>
  -keypool=<n>
          设置密钥池大小为<n>(默认值:1000)
  -mintxfee=<amt>
  -paytxfee=<amt>
  -rescan
          在启动时重新扫描货币块链以查找丢失的钱包交易
  -salvagewallet
  -spendzeroconfchange
  -txconfirmtarget=<n>
  -upgradewallet
  -wallet=<path>
  -walletbroadcast
  -walletdir=<dir>
  -walletnotify=<cmd>
  -walletrbf
  -zapwallettxes=<mode>

Debugging/Testing options:
  -debug=<category>
          输出调试信息(默认值:0)
  -debugexclude=<category>
          
  -help-debug
          显示所有调试选项(用法:--help -help-debug)
  -logips
          在调试输出中包含IP地址(默认值:0)
  -logtimestamps
          调试信息前添加时间戳(默认值:1)
  -maxtxfee=<amt>
          单笔钱包交易或原始交易中使用的最高总费用(BTC计),设置此值太低可能会中止大额交易(默认值:0.10)
  -printtoconsole
          发送跟踪/调式信息到控制台(默认值:1,没有 -daemon时。要禁用日志记录到文件,请设置debuglogfile=0)
  -shrinkdebugfile
          在客户端启动时收缩debug.log文件(默认值:1,没有-debug时)
  -uacomment=<cmt>
          将注释附加到用户字符串
  
Chain selection options:
  -testnet
          使用测试链
  
Node relay options:
  -bytespersigop
  -datacarrier
  -datacarriersize
  -mempoolreplacement
  -minrelaytxfee=<amt>
  -whitelistforcerelay
  -whitelistrelay

Block creation options: block创建选项
  -blockmaxweight=<n>
          设置最大BIP141 block 重量(默认值:3996000)
  -blockmintxfee=<amt>
          设置最低的费率(在 BTC/kB 中)包括在block创建中的交易(默认值:0.00001)
          
RPC server options: RPC服务选项
  -rest
          接受公共REST请求(默认值:0)
  -rpcallowip=<ip>
          允许来至指定源的JSON-RPC请求。对<ip>有效的是单个IP(例如1.2.3.4)、网络/网络掩码(例如1.2.3.4/255.255.255.0)或网络/CIDR(例如1.2.3.4/24).可以多次指定此选项。
  -rpcauth=<userpw>
          JSON-RPC连接的用户名和散列密码。字段<userpw>的格式为:<USERNAME>:<SALT>$<HASH>。在share/rpcauth中包含规范的python脚本。客户端使用rpcuser=<USERNAME>/rpcpassword=<PASSWORD>参数对正常连接。可以多次指定此选项。
  -rpcbind=<addr>[:port]
          绑定指定地址以侦听JSON-RPC连接。除非选项 -rpcallowip 也传递,否则将忽略此选项。端口是可选项,并覆盖 -rpcport,IPv6使用[host]:port表示,可以多次指定此选项。(默认值:127.0.0.1和::1,即localhost,或如果指定了 -rpcallowip,则为0.0.0.0和::。即所有地址)
  -rpccookiefile=<loc>
          身份验证cookie的位置(默认值:data目录)
  -rpcpassword=<pw>
          JSON-RPC连接的密码
  -rpcport=<port>
          在<port>上侦听JSON-RPC连接(默认值:8332或testnet:18332)
  -rpcserialversion
  -rpcthreads=<n>
          设置服务RPC调用的线程数(默认值:4)
  -rpcuser=<user>
          JSON-RPC连接的用户名
  -server
          接受命令行和JSON-RPC命令


七、运行bitcoin

      

#运行bitcoin
/usr/local/bitcoin/bin/bitcoind -conf=/usr/local/bitcoin/bitcoin.conf
tail -f /data/bitcoin/debug.log

#停止bitcoin,切记kill掉进程
/usr/local/bitcoin/bin/bitcoin-cli -conf=/usr/local/bitcoin/bitcoin.conf stop


    验证,有返回信息,正常启用

curl --user btcuser --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
Enter host password for user 'btcuser':

{"result":{"chain":"test","blocks":0,"headers":791996,"bestblockhash":"000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943","difficulty":1,"mediantime":1296688602,"verificationprogress":5.409398959977596e-08,"initialblockdownload":true,"chainwork":"0000000000000000000000000000000000000000000000000000000100010001","size_on_disk":293,"pruned":false,"softforks":[{"id":"bip34","version":2,"reject":{"status":false}},{"id":"bip66","version":3,"reject":{"status":false}},{"id":"bip65","version":4,"reject":{"status":false}}],"bip9_softforks":{"csv":{"status":"defined","startTime":1456790400,"timeout":1493596800,"since":0},"segwit":{"status":"defined","startTime":1462060800,"timeout":1493596800,"since":0}},"warnings":"This is a pre-release test build - use at your own risk - do not use for mining or merchant applications"},"error":null,"id":"curltest"}



八、API列表

    详细:https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list#Listing_my_bitcoin_addresses



  

addmultisigaddress   <nrequired> <'["key","key"]'> [account]
            向钱包添加一个不需要签名的多重签名地址。每个密钥都是比特币地址或十六进制编码的公钥。如果指定了[account],请将地址分配给[account]。返回包含地址的字符串。
            
addnode   <node> <add/remove/onetry>
            尝试在addnode列表中添加或删除<node>或连接到<node>一次。
            
backupwallet    <destination>
            安全地将wallet.dat文件复制到目标,该目标可以是目录或具有文件名的路径。
            
createmultisig     <nrequired> <'["key,"key"]'>
            创建一个多签名地址并返回一个json对象。
            
createrawtransaction      [{"txid":txid,"vout":n},...] {address:amount,...} 
            创建一个原始交易的开销,花费指定的输入值。
           
decoderawtransaction    <hex string>
            解码原始交易,生成人类可读的JSON对象。
          
dumpprivkey   <bitcoinaddress>
            显示与<bitcoinaddress>对应的私钥。需要未锁定钱包。

dumpwallet     <filename>
            将所有钱包私钥导出到文件。需要未锁定钱包。
            
encryptwallet     <passphrase>
            将钱包加密,设置密码<passphrase>。
            
getaccount        <bitcoinaddress>  
            返回与指定地址关联的账户。
            
getaccountaddress    <account>
            返回用于接收此帐户付款的当前比特币地址。如果<account>不存在,它将与返回的关联的新地址一起创建。
            
getaddednodeinfo   <dns> [node]
            返回指定节点或所有节点的相关信息。如果<dns>为false,则只提供添加的节点列表,<dns>为true将提供节点连接的信息。
            
getaddressesbyaccount    <account>
            返回与指定账户相关的地址列表。
            
getbalance    [account] [minconf=1]
            如果未指定[account],则返回服务器的总可用余额。
            如果指定了[account],则返回帐户中的余额。

getbestblockhash 
            返回最长块链中最佳的块哈希值。
            
getblock     <hash>
            返回指定<hash>的块的信息 

getblockcount 
            返回最长块链中的block总数
            
getblockhash   <hash>
            返回<index>中最好的块链中block的哈希值;index 0 是创世块。
            
getblocktemplate   [params]
            返回要构造的块所需的数据。
          
getconnectioncount
            返回与其他节点的连接数。
            
getdifficulty
            将工作量证明难度作为最小难度的倍数返回。
            
getgenerate
            无论bitcoind当前是否正在生成哈希值,都返回true或false。
            
gethashespersec
            在生成时返回最近每秒哈希的性能测量值。
            
getinfo
            返回包含各种状态信息的对象。
            
getmemorypool   [data]
            在0.7.0版使用getblocktemplate,submitblock,getrawmempool替换。
            
getmininginfo
            返回包含与挖掘相关的信息的对象:
            blocks
            currentblocksize
            currentblocktx
            difficulty
            errors
            generate
            genproclimit
            hashespersec
            pooledtx
            testnet
            
getnewaddress  [account]
            返回用于接收付款的新比特币地址。如果指定[account],则使用该地址接收付款并记入[account]。
            
getpeerinfo
            返回每个连接节点相关的数据。
            
getrawchangeaddress  [account]
            返回一个新的比特币地址,用于接收更改。这是用于原始事务,而不是正常使用。
            
getrawmenpool
            返回内存池中的所有事务ID。
            
getrawtransaction  <txid> [verbose=0]
            返回指定事务ID的原始事务表示形式。
            
getreceivedbyaccount   [account] [minconf=1]
            返回有[minconf]确认的交易且使用[account]的地址接收的总金额。如果未提供[account],则返回包括所有账户的所有交易。
            
getreceivedbyaddress  <bitcoinaddress> [minconf=1]
            返回有[minconf]确认的交易且使用<bitcoinaddress>接收的金额。它正确处理了某人在多个交易中发送到该地址的情况。请记住,地址仅用于接收交易。仅适用于本地钱包中的地址,外部地址将始终显示0。
            
gettransaction   <txid>
            返回指定事务相关的对象,包含:
            "amount":交易总金额
            "confirmations":交易确认的数量
            "txid":交易ID
            "time":与交易关联的时间
            "details":包含对象的数组
                "account"
                "address"
                "category"
                "amount"
                "fee"
                
gettxout  <txid> <n> [includemempool=true]
            返回未使用的事务输出(UTXO)相关的详细信息。
            
gettxoutsetinfo
            返回未使用的事务输出(UTXO)集合相关的统计信息。
            
getwork  [data]
            如果未指定[data],则返回格式化的hash数据以进行处理:
            "midstate":在对数据的前半部分进行hash处理之后的预先计算哈希状态。
            "data":块数据
            "hash1":用于第二个hash的格式化hash缓冲区
            "target":从小到大的hash target。
            如果指定[data],则尝试解析block,如果成功则返回true。
            
help [command]  
            列出命令,或获取命令帮助
            
importprivkey  <bitcoinprivkey> [label] [rescan=true]
            将一个私钥(由dumpprivkey返回)添加到你的钱包。这可能在重新扫描完成,寻找现有的交易期间耗费一段时间。可选参数[rescan]在0.8.0版中添加。注意:不需要导入公钥,如在ECDSA中(与RSA不同),这是从私钥计算。
            
invalidateblock  <hash>
            永久地将block标记为无效,就好像它违反了共识规则一样。
            
keypoolrefill
            填充密钥池,需要设置钱包密码。
            
listaccounts  [minconf=1]
            返回具有账户名为键、账户余额为值的对象
            
listaddressgroupings
            返回钱包中的所有地址和用于coincontrol的信息。
            
listreceivedbyaccount  [minconf=1] [includeepmty=false]
            返回数组包含以下对象:
            "account":接收地址的账户
            "amount":用该账户地址收到的总金额
            "confirmations":包括最近交易的确认数量
            
listreceivedbyaddress  [minconf=1] [includeempty=false]
            返回数组包含以下对象:
            "address":接收地址
            "account":接收地址的账户
            "amount":地址接收到的总金额
            "confirmations":包括最近交易的确认数量
            要获取系统上的账户列表,请执行 bitcoind listreceivedbyaddress 0 true
            
listsinceblock   [blockhash] [target-confirmations]
            从block的[blockhash]获取blocks中的所有事务,或者省略所有事务。[target-confirmations]有意的不影响返回的事务列表,但只影响返回"lastblock"值。
            
listtransactions [account] [count=10] [from=0]
            返回[count]最近的事务,跳过账户[account]的第一个[from]事务。如果未提供[account],它将返回所有账户的最近交易。
            
listunspent  [minconf=1] [maxconf=999999]
            返回钱包中未使用的事务输入数组。
            
listlockunspent  
            返回暂时不可连接的输出的列表
            
lockunspent  <unlock?> [array-of-objects]
            更新暂时不可靠输出的列表
            
move  <fromaccount> <toaccount> <amount> [minconf=1] [comment]
            从钱包中的一个账户移动到另一个账户
            
sendfrom  <fromaccount> <tobitcoinaddress> <amount> [minconf=1] [comment] [comment-to]
            <amount>是一个实数,并四舍五入到小数点后8位。将指定金额发送到指定账户,使用[minconf]确保账户具有有效余额,如果成功(不在json对象中),则返回事务ID。
            
sendmany  <fromaccount> {address:amount,...} [minconf=1] [comment]
            amounts是双精度浮点数
            
sendrawtransaction  <hexstring>
            提交原始交易(系列化,十六进制编码)到本地节点和网络
            
sendtoaddress  <bitcoinaddress> <amount> [comment] [comment-to] 
            <amount>是一个实数,并四舍五入到小数点后8位。如果成功,则返回事务ID <txid>。   
            
setaccount  <bitcoinaddress> <account>
            设置与指定地址关联的帐户。已分配给同一帐户的地址将创建与该帐户关联的新地址。
            
setgenerate  <generate> [genproclimit]
            <generate>为true或false以打开或关闭生成。
            生成仅限于[genproclimit]处理器,-1是无限制的。
            
settxfee  <amount>
            <amount>是一个实数,并四舍五入到最接近的0.00000001
            
signmessage  <bitcoinaddress> <message>
            使用地址的私钥对消息进行签名。
            
signrawtransaction  <hexstring> [{"txid":txid,"vout":n,"scriptPubKey":hex},...] [<privatekey1>,...]
            将签名添加到原始事务并返回生成的原始事务。
            
stop
            Stop bitcoin server. 
            
submitblock  <hex data> [optional-params-obj]
            尝试提交新block到网络
            
validateaddress  <bitcoinaddress>    
            返回有关<bitcoinaddress>的信息。
            
verifymessage   <bitcoinaddress> <signature> <message>
            验证已签名的邮件。
            
walletlock  
            从内存中删除钱包加密密钥,锁定钱包。调用此方法后,您需要再次调用钱包密钥,然后才能调用任何需要解锁钱包的方法。
            
walletpassphrase  <passphrase> <timeout>
            将钱包解密密钥存储在内存中<timeout>多少秒。
            
walletpassphrasechange  <oldpassphrase> <newpassphrase>
            将钱包密码短语从<oldpassphrase>更改为<newpassphrase>。








点赞
说说你的看法

所有评论: (0)