- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试了解比特币交易。我用Bitcore Javascript Library.
我有一个 Source Wallet1(Address1/PublicKey1 和 PrivateKey1) - 有 10 个比特币(简化)。
现在,一位 friend 给了我他的 Wallet2 (Address2/PublicKey2),并希望收到 1 个比特币。
当我读到documentation时那么对于一个简单的交易(一对一),代码如下所示:
var transaction = new Transaction()
.from(utxos) // Feed information about what unspent outputs one can use
.to(address, amount) // Add an output with the given amount of satoshis
.change(address) // Sets up a change address where the rest of the funds will go
.fee(5430) // Minimum non-dust amount
.sign(privkeySet) // Signs all the inputs it can
但我有这些问题:
.from(utxos)
函数的参数 utxos
是什么。这是我的 Wallet1 中的 PublicKey1 吗?
.to(address)
函数的参数 address
是我的 Friends Wallet2 的 PublicKey2?
change(address)
函数的参数 address
是一个新的 Address3,它属于 MY Wallet3,我必须在创建之前创建它交易? => 这意味着我需要知道这个 Wallet3 的 PrivateKey3,这就是我将获得其余 9 个比特币的 Wallet3? => 没有这个.change(address)
函数是否可以进行交易?如果我说,我不想将剩下的 9 个比特币转移到新地址?他们应该留在原来的 Wallet1 中吗?
.fee(5430)
表示我将为此交易花费 5430 聪 = 0.2337424950 美元?
.sign(privkeySet)
函数中的 privkeySet
是我原始 Wallet1 中的 PrivateKey1,对吧?在这个 .sign()
函数之后,交易将被“解雇”并且工作完成?
非常感谢您的支持。
最佳答案
What is the argument utxos int the .from(utxos) function is. Is this the PublicKey1 from my Wallet1?
这些是您可以花费的出点(即之前交易的未花费输出)。
https://bitcore.io/api/lib/unspent-output
The argument address for the .to(address) function is the PublicKey2 of my Friends Wallet2?
地址不一定仅源自目标公钥。您需要阅读 p2sh/p2pkh/p2pk 地址是如何生成的。
但一般来说,如果您只想向具有简单支出条件的人付款,则付款的规范地址只是 p2pkh
地址,源自接收者的公钥。
https://bitcore.io/api/lib/address
// recipientPublicKey should be provided
var address = new Address(recipientPublicKey);
// alternative interface
var address = Address.fromPublicKey(recipientPublicKey);
通常情况下,您的 friend 应该只为您提供一个付款地址,这样您就不必担心地址生成。上面的示例假设您的 friend 已向您提供了他们的公钥(无论出于何种原因)。
The argument address for the change(address) function is a new Address3, which belongs to MY Wallet3, which I have to create just before I make the transaction? => This means I need to know the PrivateKey3 of this Wallet3 and this is the Wallet3 which I will get my rest of the 9 Bitcoins? => Is it possible to do the Transaction without this .change(address) function? If I say, I don't want to transfer the rest of my 9 Bitcoins to the new Address? They should just stay in the original Wallet1?
除非您花费的 UTXO 等于您发送给 friend 的金额 + 费用,否则您将需要更改地址。通常,最好生成新的 key 对和地址以用作更改地址,因为地址重用通常被认为是不好的。但也可以重复使用您的地址 wallet1
.
The .fee(5430) means that I will spend 5430 Satoshi = USD $0.2337424950 for this Transaction?
是的。
The privkeySet in the .sign(privkeySet) function is the PrivateKey1 from my original Wallet1 right? After this .sign() function the Transaction will be 'fired' and the job is done?
签名后,您需要序列化您的交易。序列化后,您应该获得一个十六进制 ASCII 字符串,您可以使用该字符串通过第三方提供商或您自己的比特币节点广播到比特币网络。
bitcoin-cli sendrawtransaction <serialized transaction>
关于javascript - 使用 Bitcore 进行简单的一对一比特币交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46528602/
我正在尝试使用 bitcore-lib 生成比特币地址并使用 bitcore-explorer 获取未花费的交易。 在这里生成地址是代码: var bitcore = require('bitcore
我正在使用 Bitcore 尝试进行交易,如下例所示: https://github.com/bitpay/bitcore-lib/blob/master/docs/examples.md (其中显示
我尝试了解比特币交易。我用Bitcore Javascript Library. 我有一个 Source Wallet1(Address1/PublicKey1 和 PrivateKey1) - 有
我正在尝试找出使用 bitpay 的开源 Bitcore 库 ( http://bitcore.io ) 签署部分签名的多重签名比特币交易的正确方法是什么? 对于多重签名比特币交易,一个人可以用他的私
我正在使用bitcore-lib解码以十六进制编码的交易,但我得到了一个奇怪的结果。为了进行比较,我使用了 bitcoinjs-lib它似乎工作得很好。 示例 交易 网络:比特币测试网 哈希值:1ea
我已经使用“npm install -g bitcore”和运行 Node v4.8.2 的 NVM 安装了 bitcore ( https://github.com/bitpay/bitcore )
我正在尝试从扩展私钥生成 WIF,但我得到了无效的 WIF。 WIF 应该是什么样子:https://bitcoin.org/en/developer-guide#wallet-import-form
我是一名优秀的程序员,十分优秀!