Hot answers tagged

17

Based on the time-frame and my impression of the capabilities of the various groups developing wallet software during that period my initial guess was that the Bitpay copay software might be the source of these signatures. Copay is a multi-signature wallet which was initially released around that time. As I'm not a javascript developer it took me a bit of ...


5

This is a SegWit transaction, serialized using the new format defined in BIP144. The format is only permitted when at least one of the transaction inputs has a witness, and works as follows: 4-byte integer nVersion 1-byte dummy (must be 0) 1-byte flags (must be nonzero) vector(transaction inputs) vector(transaction outputs) if (flags & 1): vector(input ...


4

Both are implementations of the Bitcoin protocol, however they are customized to make it easier to develop with. They are able to do this by storing all transaction and blockchain data in a database for quick queries, and along with this comes large disk space requirements (200-300GB). Bitcore (I have used) - NodeJS - 200+GB required for storage as it ...


4

These are API names and display scripts in their encoded and or decoded form. What you want to build a transaction is the encoded form like the one returned by toshi (script_hex) or smartbit (hex). A script is a sequence of instructions beginning by OP_ (OP_DUP, etc...) and hex data. You can read more about the Script language here. At the protocol level, ...


4

I used the request library to manually retrieve information from the insight API. I also used the litecore-lib library to create the transaction. var Litecoin = require("litecore-lib"); var request = require("request"); //manually hit an insight api to retrieve utxos of address function getUTXOs(address) { return new Promise((resolve, reject) => { ...


3

Nodes don't provide wallet services (like Bitpays Bitcore [don't mix that up with Bitcoin Core]). The only service they provide is SPV transaction filtering (which is much "slower"). Running your own wallet service (like BitPays Bitcore) can be useful if you have your own setup, etc. (It's more a server/client thing). Bitcore is basically a Bitcoin Core ...


3

Bitcore fork from SatoshiLabs is indeed available only for 64-bit linux. You can try to build the necessary binaries yourself and then update the npm install scripts in bitcore, but that is very hard. I would not recommend you to run bitcore on a personal computer, since it adds additional 200GB data, so you will end up with about half a terabyte of data. ...


3

What you are looking for is in the lib\transactions.js file. Line 210 to 215. var transformed = { txid: transaction.txid(), valueOut: valueOut / 1e8, vout: vout, isRBF: isRBF, }; I took a quick glimpse, vout is an array and isRBS is a boolean. Honestly, I don't know why "processed" is in the documentation example. I might possibly ...


2

Bitcore makes it very easy to do this. Just use the Transaction constructor. var bitcore = require('bitcore') var txHexSerialized = "010000000...00000000"; var txDecoded = new bitcore.Transaction(txHexSerialized);


2

I don't know of a solution that works out-of-the-box with the requirements you've set. However, you can do some of what you need using some command-line tools available on github. Pycoin has a key utility which can be used to derive bip0032 addresses given a root. Here's a quick primer on how to use it: $ git clone http://github.com/richardkiss/pycoin $ cd ...


2

There is nothing wrong with this transaction, the website you tried to submit it through (blockchain.info) is defective. I have broadcast it for you, and it is visible as a confirmed transaction on most block explorers. bitcoin-cli decoderawtransaction is a useful tool which will let you decode and view the transaction have created prior to submitting it ...


2

Bitpay's bitcore-node project uses the same datadirectory as Bitcoin Core. You can see this in their sample configuration in their README: var configuration = { datadir: '~/.bitcoin', network: 'testnet' }; As such, the you can see: What are the keys used in the blockchain levelDB (ie what are the key:value pairs)? for information on what is in this ...


2

The problem is on this line: amount: 100000, The amount is supposed to be in coins, not satoshis, according these comments in the code. To fix it, replace that line with satoshis: 100000, And what is the deal with these large numbers: Since the code was assuming an input with 100,000 coins in the inputs, the change address had a lot more coins in it ...


2

I figured this out, the new transaction code should look like this with the address generated using fromString() method using bitcore. var address = bitcore.Address.fromString('2NEvGYDNxcVPZ2ThtmPKYoKBCEa3aJNjPL3'); var multiSigTx = new bitcore.Transaction() .from(utxo, pubs, 2) .to("mntnnj64W4po96m2ck4GXQJTAiKZQChpWB", 10000) .to("...


2

That error happens when the transaction attempts to send more Satoshis than it spends. You might have your units mixed up (using Satoshis instead of BTC, or vice versa). The code that throws the error can be sheen here: https://github.com/bitcoin/bitcoin/blob/v0.10.2/src/main.cpp#L1462-L1465


2

I figured this out, you need to set the default network after you instantiate bitcore. var bitcore = require('bitcore'); // Set the network to testnet bitcore.Networks.defaultNetwork = bitcore.Networks.testnet;


2

It is the hash type, in this case it is SIGHASH_ALL. To verify the digital signature inside of the Script language, it is required to have a hash type appended to the end of the digital signature. However if you verifying the signature using something like openssl, the bitcore signature would be valid.


2

Syncing to the blockchain involves a lot of downloading, disk usage, and computation. Look at what resources are being used the most, one of them will be the bottleneck. For me it was my hard drive that was slowing everything down, once I upgraded my platter drive for a high speed SSD it went much faster. In your case you may be limited by your internet ...


2

Bitcore has excellent documentation and examples... It sound like you are familiar with their forums but maybe not their developer site? Get Started: https://bitcore.io/start Guides and Tutorials: https://bitcore.io/guides API Docs: https://bitcore.io/api


2

Check out 21. There are some bitcoin tutorials as well as a developer community.


2

You can use bitcore explorers module to use Insight send transaction and get utxos data. Check further https://github.com/bitpay/bitcore-explorers


2

Either create the transaction using constructor: var transaction = new Transaction(); or pass serialized transaction to broadcast method: insight.broadcast(tx.serialize(), ......


2

Bitcore is open source software provided at no charge, so there is no fee you have to pay to the BitCore software authors. When creating a Bitcoin transaction, it is highly recommend that you pay a fee to Bitcoin miners to encourage them to include your transaction in a block. How much fee you pay is optional, and there are a number of fee estimation ...


2

Try the other servers. This means Trezor's blockchain explorers (for example, this one: https://btc-bitcore3.trezor.io) are under maintenance, or restarting, or can't be connected (DNS/ISP problems)... If your Trezor can't connect to Trezor's servers, then it won't be able to make transaction (as it'll be unable to find older transactions, unspent outputs)....


2

it seems to be that there are some bitcoind processes that have zombied out and listening to your port. try to run this command to kill the other processes killall -9 bitcoind


2

Bitcore has made an implementation of bitcoind and named it as bitcored. The fact that you are running bitcoind first and then bitcored, bitcore is trying to access the same ports as bitcoind. Also the lock file is present in the ~/.bitcoin/testnet3/ folder. Hence the conflict. You do not need to run bitcoind.


2

According to BIP32 you're trying to generate a non-hardened child address, see BIP32 - Public parent key → public child key. Using bitcore-lib, to derive a non-hardened child public key and a P2PKH address: var bitcore = require('bitcore-lib'); var Address = bitcore.Address; var PublicKey = bitcore.PublicKey; var Networks = bitcore.Networks; var ...


2

Electrum uses the electrum-server backend (electrumx is a newer variant) In fact, electrum actually predates bitcore by about 2 years. As to why there are multiple implementations of similar APIs and softwares, the answer is really "Why node?". Even the bitcoin node software has multiple implementations (Bitcoin Core and btcd, for instance). This is a ...


2

The Bitcoin Node is part of the blockchain network. It has nothing to do with markets and trading, and has no concept of a price. As far as the node is concerned, 1 Bitcoin = 1 Bitcoin, and that's it. If you want historical market prices, you will have to either scrape them from various exchanges yourself, or use a service such as this (I have no ...


1

Either you use some nodejs library which would give you a high level wrapper for the bitcoin core api getrawmempool, or make your script hit your local bitcoin instance in the json-rpc format to get the memorypool data your node has. The memory pool is basically where the transactions stay before getting confirmed in a block. So your script needs to run in ...


Only top voted, non community-wiki answers of a minimum length are eligible