2013年12月31日 星期二
2013年12月25日 星期三
比特幣手工簽署交易教學
教學原始資料在https://people.xiph.org/~greg/signdemo.txt,我稍微中譯整理一下,讓整個流程容易理解
需先安裝好兩個錢包,一個在沒有任何網路連線的電腦上,另一個則連上網路, 離線錢包先產生地址(公鑰),然後連線錢包送50BTC到離線地址,接著將50BTC 再送回連線錢包,可利用連線錢包套用上次的交易資料建構新交易,新交易由離線錢包簽署後, 用連線錢包公佈到網路上
1.首先,取得離線錢包一個新地址
[離線錢包]$ bitcoind getnewaddress
回傳值為
<離線錢包地址>
2.然後送50BTC給這個離線地址
[連線錢包]$ bitcoind sendtoaddress <離線錢包地址> 50
回傳值為
<txid_連線錢包付給離線錢包>
3.取得交易原生資料,離線錢包付錢時,將會用到裡面的txid及scriptpubkey
[連線錢包]$ bitcoind getrawtransaction <txid_連線錢包付給離線錢包> 1
回傳值為
{
"hex" : "<tx_hex_連線錢包付給離線錢包>",
"txid" : "<txid_連線錢包付給離線錢包>",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "69d02fc05c4e0ddc87e796eee42693c244a3112fffe1f762c3fb61ffcb304634",
"vout" : 0,
"scriptSig" : {
"asm" :
"3046022100ef89701f460e8660c80808a162bbf2d676f40a331a243592c36d6bd1f81d6bdf022100d29c072f1b18e59caba6e1f0b8cadeb373fd33a25feded746832ec179880c23901",
"hex" :
"493046022100ef89701f460e8660c80808a162bbf2d676f40a331a243592c36d6bd1f81d6bdf022100d29c072f1b18e59caba6e1f0b8cadeb373fd33a25feded746832ec179880c23901"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 50.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 dd40dedd8f7e37466624c4dacc6362d8e7be23dd OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "<hex_scriptPubKey_連線錢包付給離線錢包>",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"<離線錢包地址>"
]
}
}
]
}
4.取得連線錢包新地址
[連線錢包]$ bitcoind getnewaddress
回傳值為
<連線錢包地址>
5.以前個交易當草稿建立新交易,新交易會將50BTC送給連線錢包,執行後得到十六進制字串的回傳值
[連線錢包]$ bitcoind createrawtransaction '[{"txid":"<txid_連線錢包付給離線錢包>","vout":0}]' '{"<連線錢包地址>":50}'
回傳值為
<tx_hex_離線錢包付給連線錢包>
6.解碼十六進制字串,檢查內容是否符合預期
[離線錢包]$ bitcoind decoderawtransaction <tx_hex_離線錢包付給連線錢包>
回傳值為
{
"txid" : "d9f33ed2740eef77e40e72b692c4cf1feb6ab10d8adaaf27eb394fa5064b1160",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "<txid_連線錢包付給離線錢包>",
"vout" : 0,
"scriptSig" : {
"asm" : "還沒填",
"hex" : "還沒填"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 50.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 3744841e13b90b4aca16fe793a7f88da3a23cc71 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a9143744841e13b90b4aca16fe793a7f88da3a23cc7188ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"<連線錢包地址>"
]
}
}
]
}
7.準備簽署交易,需提供scriptpubkey,讓離線錢包知道用哪隻鑰匙簽章
[離線錢包]$ bitcoind signrawtransaction <tx_hex_離線錢包付給連線錢包> '[{"txid":"<txid_連線錢包付給離線錢包>","vout":0,"scriptPubKey":"<hex_scriptPubKey_連線錢包付給離線錢包>"}]'
回傳值為
{
"hex" : "<tx_hex_離線錢包付給連線錢包_已簽名>",
"complete" : true
}
8.公佈交易到網路上
[連線錢包]$ bitcoind sendrawtransaction <tx_hex_離線錢包付給連線錢包_已簽名>
回傳值為
<txid_離線錢包付給連線錢包>
9.看看連線錢包有沒收到錢
[連線錢包]$ bitcoind listtransactions "" 1
回傳值為
[
{
"account" : "",
"address" : "<連線錢包地址>",
"category" : "receive",
"amount" : 50.00000000,
"confirmations" : 0,
"txid" : "<txid_離線錢包付給連線錢包>",
"time" : 1344221517
}
]
需先安裝好兩個錢包,一個在沒有任何網路連線的電腦上,另一個則連上網路, 離線錢包先產生地址(公鑰),然後連線錢包送50BTC到離線地址,接著將50BTC 再送回連線錢包,可利用連線錢包套用上次的交易資料建構新交易,新交易由離線錢包簽署後, 用連線錢包公佈到網路上
1.首先,取得離線錢包一個新地址
[離線錢包]$ bitcoind getnewaddress
回傳值為
<離線錢包地址>
2.然後送50BTC給這個離線地址
[連線錢包]$ bitcoind sendtoaddress <離線錢包地址> 50
回傳值為
<txid_連線錢包付給離線錢包>
3.取得交易原生資料,離線錢包付錢時,將會用到裡面的txid及scriptpubkey
[連線錢包]$ bitcoind getrawtransaction <txid_連線錢包付給離線錢包> 1
回傳值為
{
"hex" : "<tx_hex_連線錢包付給離線錢包>",
"txid" : "<txid_連線錢包付給離線錢包>",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "69d02fc05c4e0ddc87e796eee42693c244a3112fffe1f762c3fb61ffcb304634",
"vout" : 0,
"scriptSig" : {
"asm" :
"3046022100ef89701f460e8660c80808a162bbf2d676f40a331a243592c36d6bd1f81d6bdf022100d29c072f1b18e59caba6e1f0b8cadeb373fd33a25feded746832ec179880c23901",
"hex" :
"493046022100ef89701f460e8660c80808a162bbf2d676f40a331a243592c36d6bd1f81d6bdf022100d29c072f1b18e59caba6e1f0b8cadeb373fd33a25feded746832ec179880c23901"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 50.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 dd40dedd8f7e37466624c4dacc6362d8e7be23dd OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "<hex_scriptPubKey_連線錢包付給離線錢包>",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"<離線錢包地址>"
]
}
}
]
}
4.取得連線錢包新地址
[連線錢包]$ bitcoind getnewaddress
回傳值為
<連線錢包地址>
5.以前個交易當草稿建立新交易,新交易會將50BTC送給連線錢包,執行後得到十六進制字串的回傳值
[連線錢包]$ bitcoind createrawtransaction '[{"txid":"<txid_連線錢包付給離線錢包>","vout":0}]' '{"<連線錢包地址>":50}'
回傳值為
<tx_hex_離線錢包付給連線錢包>
6.解碼十六進制字串,檢查內容是否符合預期
[離線錢包]$ bitcoind decoderawtransaction <tx_hex_離線錢包付給連線錢包>
回傳值為
{
"txid" : "d9f33ed2740eef77e40e72b692c4cf1feb6ab10d8adaaf27eb394fa5064b1160",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "<txid_連線錢包付給離線錢包>",
"vout" : 0,
"scriptSig" : {
"asm" : "還沒填",
"hex" : "還沒填"
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 50.00000000,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 3744841e13b90b4aca16fe793a7f88da3a23cc71 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a9143744841e13b90b4aca16fe793a7f88da3a23cc7188ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"<連線錢包地址>"
]
}
}
]
}
7.準備簽署交易,需提供scriptpubkey,讓離線錢包知道用哪隻鑰匙簽章
[離線錢包]$ bitcoind signrawtransaction <tx_hex_離線錢包付給連線錢包> '[{"txid":"<txid_連線錢包付給離線錢包>","vout":0,"scriptPubKey":"<hex_scriptPubKey_連線錢包付給離線錢包>"}]'
回傳值為
{
"hex" : "<tx_hex_離線錢包付給連線錢包_已簽名>",
"complete" : true
}
8.公佈交易到網路上
[連線錢包]$ bitcoind sendrawtransaction <tx_hex_離線錢包付給連線錢包_已簽名>
回傳值為
<txid_離線錢包付給連線錢包>
9.看看連線錢包有沒收到錢
[連線錢包]$ bitcoind listtransactions "" 1
回傳值為
[
{
"account" : "",
"address" : "<連線錢包地址>",
"category" : "receive",
"amount" : 50.00000000,
"confirmations" : 0,
"txid" : "<txid_離線錢包付給連線錢包>",
"time" : 1344221517
}
]
2013年12月20日 星期五
比特幣Android錢包測試藍牙離線交易
這次要測試兩台android設備,在沒連上WIFI的情況下,比特幣錢包APP如何以藍牙訊號支付款項
首先,打開平板的比特幣錢包APP,按右上角的設定功能
將平板錢包的"bluetooth offline transaction"選項打勾
打開手機的比特幣錢包APP,按右上角的設定功能
將手機錢包的"bluetooth offline transaction"選項打勾
接著輸入要向平板錢包索取的金額
拿平板掃描手機錢包的QR code
有時會因為種種原因,很難判讀,可將QR code放大
不管如何,平板終於將對方索取的金額掃描成功,按發送
成功通過藍牙設備傳送一筆離線交易
照收手續費0.0001BTC
此時手機錢包也收到款項了
2013年12月16日 星期一
傳送比特幣到離線錢包
底下的練習,是如何傳送比特幣到一個由軟體隨機產生的離線錢包
首先打開bitcoin-qt除錯視窗並輸入指令sendtoaddress 地址 數量
執行指令後,回傳值為交易識別碼(transaction ID ,txid)
注意,紅色框框是傳送時間
回到總覽畫面,發現bitcoin-qt問都沒問就多扣了手續費0.0001BTC
上blockexploer.com查詢testnet,看離線錢包地址有無入帳,還沒?!於是離座泡杯咖啡
喝完咖啡就座,更新網頁顯示29:05支付43:54入帳,差了快15分
看看testnet區塊資料,哇!我的支付交易所處的區塊,與上個區塊竟隔了20分鐘
可用getrawtransaction解開txid,則傳回json格式的原生交易資料
2013年12月13日 星期五
Bitcoin-qt與Wallet for Android互傳測試幣
承上個練習,補充測試幣到testnet錢包後
執行Bitcoin-qt連上testnet,傳送2個比特測試幣給我的行動錢包
送出後可看到餘額是 18 BTC
打開Android行動錢包,可看到錢已收到,不過尚待進一步確認,不知是否testnet的關係,等三十分才收到
當收到的2個測試幣,已確認可用來支付後,準備傳回1BTC給Bitcoin-qt錢包
傳送成功!但是需扣0.0001的手續費
回到行動錢包的主畫面,出現二筆交易
這次試著傳送0.0001BTC,看看如此的微支付(Micro-Payment),結果會如何?
可傳送,照舊扣0.0001的手續費
傳送成功!
回到行動錢包的主畫面,每筆交易都有個小餅圖,綠色代表確認的程度
回到Bitcoin-qt錢包,的確有收到二筆款項,收送間隔一分鐘,但尚未確認
過幾分鐘後,二筆款項終於確認了
至此,Bitcoin-qt錢包總共有五筆交易
接著測測看支付0.0001BTC,Bitcoin-qt會不會扣手續費
出現對話窗,確認支付
真的要付手續費!!
Bitcoin-qt錢包顯示04:24支付
幾分鐘後,行動錢包也收到款項
執行Bitcoin-qt連上testnet,傳送2個比特測試幣給我的行動錢包
送出後可看到餘額是 18 BTC
打開Android行動錢包,可看到錢已收到,不過尚待進一步確認,不知是否testnet的關係,等三十分才收到
當收到的2個測試幣,已確認可用來支付後,準備傳回1BTC給Bitcoin-qt錢包
傳送成功!但是需扣0.0001的手續費
回到行動錢包的主畫面,出現二筆交易
這次試著傳送0.0001BTC,看看如此的微支付(Micro-Payment),結果會如何?
可傳送,照舊扣0.0001的手續費
傳送成功!
回到行動錢包的主畫面,每筆交易都有個小餅圖,綠色代表確認的程度
回到Bitcoin-qt錢包,的確有收到二筆款項,收送間隔一分鐘,但尚未確認
過幾分鐘後,二筆款項終於確認了
至此,Bitcoin-qt錢包總共有五筆交易
接著測測看支付0.0001BTC,Bitcoin-qt會不會扣手續費
出現對話窗,確認支付
真的要付手續費!!
Bitcoin-qt錢包顯示04:24支付
幾分鐘後,行動錢包也收到款項
2013年12月9日 星期一
2013年12月3日 星期二
2013年11月23日 星期六
2013年11月13日 星期三
[Crowdfunding] ScratchCoin專案開始向群眾募資
ScratchCoin在BitcoinStarter.com已申請群眾募資專案,接受各界比特幣募款
ScratchCoin開放原始碼在https://github.com/jimmyscratchlab/ScratchCoin
ScratchCoin開放原始碼在https://github.com/jimmyscratchlab/ScratchCoin
2013年11月6日 星期三
BitcoinStarter.com - 一個目前人氣比較夯的比特幣群眾募資平台
BitcoinStarter.com是目前人氣比較夯的比特幣群眾募資平台,或許搭配社群平台reddit是其成功的原因之一,有興趣的人可以造訪bitcoinstarter.com on reddit.com,對於已經卡不進挖礦軍備競賽的比特幣人,或許可以換個方向想個不錯的提案,看看能否獲得投資人青睞,用比特幣實際支持你
2013年11月2日 星期六
2013年10月23日 星期三
2013年10月12日 星期六
Free BTC--到BitVisitor看廣告免費得比特幣
安裝好Bitcoin wallet後,大家一定迫不急待想裝點錢入袋,但是用挖礦機挖幣,一來緩不濟急二來也所費不貲,沒關係,我們可以到Bitvisitor網站看廣告免費得比特幣
先在你的位元幣/比特幣錢包(bitcoin-qt)新增位址,並在標記欄填上"BitVisitor"(也可以不填)
然後到http://www.bitvisitor.com主頁面,填入你的收款位址,將資料上傳
接著會要你輸入驗證碼,並告知會送你多少uBTC,一開始還蠻多的可能有10uBTC
然後會轉到廣告頁面,什麼都不必做,只要等上五分鐘便可繼續再賺,不過請注意要滿100uBTC才會入袋
其實免費的位元幣不是那麼好賺,越到後面出價越低
累積到100uBTC,可能要花上你一兩個小時,最後打開錢包便可知收穫如何
這篇也算得上是bitcoin-qt收款教學(bitcoin-qt tutorial)
先在你的位元幣/比特幣錢包(bitcoin-qt)新增位址,並在標記欄填上"BitVisitor"(也可以不填)
然後到http://www.bitvisitor.com主頁面,填入你的收款位址,將資料上傳
接著會要你輸入驗證碼,並告知會送你多少uBTC,一開始還蠻多的可能有10uBTC
然後會轉到廣告頁面,什麼都不必做,只要等上五分鐘便可繼續再賺,不過請注意要滿100uBTC才會入袋
其實免費的位元幣不是那麼好賺,越到後面出價越低
累積到100uBTC,可能要花上你一兩個小時,最後打開錢包便可知收穫如何
這篇也算得上是bitcoin-qt收款教學(bitcoin-qt tutorial)
2013年10月10日 星期四
十月的Bitcoin比特幣新聞整理
Bitcoin 比特幣新聞 - 中文報導
2013.10.12 文克莱沃斯兄弟能成比特币银行家吗?
2013.10.09 KnCMiner展示速度達576GH/s的比特幣挖礦機
2013.10.05 比特幣走到十字路口
2013.10.04 觀察站/「絲路」犯罪溫床…投資人仍哈
2013.10.04 線上毒品黑市 美查封絲路逮主嫌 「比特幣」暴跌
2013.10.04 美破毒網 撿2790萬元虛擬貨幣 Bitcoin瀉3成
2013.10.03 國際/「絲路」遭查封 比特幣狂跌
2013.10.03 美偵破線上黑市「絲路」 逮捕主嫌
2013.10.02 你該認識的全球通行新貨幣:位元幣
Bitcoin 比特幣新聞 - 英文報導
待整理......
2013.10.12 文克莱沃斯兄弟能成比特币银行家吗?
2013.10.09 KnCMiner展示速度達576GH/s的比特幣挖礦機
2013.10.05 比特幣走到十字路口
2013.10.04 觀察站/「絲路」犯罪溫床…投資人仍哈
2013.10.04 線上毒品黑市 美查封絲路逮主嫌 「比特幣」暴跌
2013.10.04 美破毒網 撿2790萬元虛擬貨幣 Bitcoin瀉3成
2013.10.03 國際/「絲路」遭查封 比特幣狂跌
2013.10.03 美偵破線上黑市「絲路」 逮捕主嫌
2013.10.02 你該認識的全球通行新貨幣:位元幣
Bitcoin 比特幣新聞 - 英文報導
待整理......
2013年10月9日 星期三
2013年10月3日 星期四
訂閱:
文章 (Atom)