bitcoin news: Coinbase - How to Find your Bitcoin wallet ...

ShionCoin Console Basics

The following is a brief overview of the commands provided by the "shc" utility console program.
The utility program "shc" communication with the server (shcoind) are restricted to the local host that the service is running. You must use the stratum API in order to access the server from a remote machine.
A sub-set of all the commands are provided here. This guide attempts to concentrate on commonly used commands that are useful. Run "shc help" for a full list of commands. Run "shc help " for details about running that particular command.
You can enter an interactive mode by running "shc --prompt".
Run the daemon with "shcoind --debug" in order to print additional information to the log file (on linux, "/valib/share/shcoind.log") for diagnostic purposes.
ShionCoin "pub-key" coin addresses typically starts with "S" or "R". A "script address" will start with "1" and a seg-wit address will start with "3". Coin addresses are verified when entered on the command-line in order to ensure that the address is prudent in respect to the coin interface.
All fees for extended transactions, such as creating context and aliases, are either stored (for update purposes) in a local extended account and/or are provided as mining fees. You can use the "wallet.donate" command to intentionally create a transaction which includes a specified mining reward value.

Wallet Commands

The wallet commands provides capabilities to transfer funds and manage accounts. Each account can contain several coin addresses and has a counter-part "extended account" that is not visible.
Wallet Info: wallet.info
Display statistical and runtime information on wallet operations.
shc wallet.info { "version": 3010000, "walletversion": 60000, "balance": 658, "keypoololdest": 1517000561, "keypoolsize": 101 }
Create Coin Address: wallet.new
The "wallet.new" command is used to create a normal (non seg-wit) coin address and associate it with an account name. Coin addresses may be automatically generated for accounts, for example in order to return "change" in a fund transfer transaction. All change is directly returned to the associated account.
shc wallet.new test S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci
List Accounts: wallet.list
The "wallet.list" command provides a balance of all accounts in the coin wallet.
shc wallet.list { "": 0, "bank": 658, "system": 0 }
Three accounts are created by default. The "" account receives coinbase rewards which are then distributed to users based on their stratum stats. The "bank" account is a 0.1% cut of the rewards received from the stratum mining pool. The "system" account is currently reserved for a cpu-miner which attempts a single mining operation each time new task work is assigned to miners. The frequency of how often this occurs is based on tracking the "luck" of past attempts.
List Coin Addresses: wallet.listaddr
The "wallet.listaddr" command will list all of the coin addresses associated with an account.
shc wallet.listaddr test ["S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci"]
Create Transaction: wallet.send
The "wallet.send" command is the primary method of sending funds.
All ShionCoin transactions are sent with at least the 0.0001 SHC minimum fee. Providing the minimum fee is provided, any fee can is permitted and affects the priority of the transaction.
shc wallet.send bank S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci 10 307711dace8c0583b744af8acd1df2073e36b0c7a54b8830a15ae146f8c22ddb
Test Create Transaction: wallet.tsend
You can "test send" a transaction in order to determine the aproximate fee and size that would result.
shc wallet.tsend bank SLbnKamvSx8FhaBNpHUwffFDLZ16J8phdX 10 { "amount": 10, "tx-amount": 98.999900, "size": 300, "virt-size": 226, "fee": 0.000100, "inputs": 1, "priority": 1085539000000 }
Create Batch Transaction(s): wallet.bsend
The "wallet.bsend" command allows you to transfer funds that are more complicated than would be permitted in a single transaction. Multiple transactions will be created, as neccessary, in order to send the specified coin value. The total value commited to be sent may be lower than the value requested under certain circumstances.
Create Certified Transaction: wallet.csend
The "wallet.csend" associated a pre-created certificate with the coin transfer. The certificate may be used to associate with the certificate, or provide a method to identity the source of the funds.
shc wallet.csend bank SLbnKamvSx8FhaBNpHUwffFDLZ16J8phdX 10
Create Stamp Transaction: wallet.stamp
The "wallet.stamp" command allows you to create a short message (up to 135 characters), or reference a geodetic location, to associate with a local coin address. The stamp transaction is the exclusive method of claiming spring matix location coins. Creating a stamp in the format "geo:," will result in a single SHC coin, once processed on the network, being rewarded for all locations not yet discovered in the spring matrix. A minimum transaction fee (0.0001) is applied for each stamp transaction created.
Use the "ctx.findloc" command in order to search for locations active in the sprint matrix.
Validate Address: wallet.donate
Donated coins are added to the upcoming block reward. Donations may be optionally associated with a certificate. The maximum donation value in a single transaction is 500 coins. Donations are associated with the coin address that generates them, and may contain a geodetic stamp depending on configuration and availability.
The total cost will include the donation coin value specified plus a minimum transaction fee (0.0001 SHC).
{ "version": 1, "flag": 1025, "txid": "ace04609d0eca593b73a3f1afb1dcfeb10049c4ab4098ff9b17e01da65bf2ec6", .. "ident": { "version": 3, "expire": " ", "geo": "46.770000,113.980000", "addr": "SFrXpo9ykcSeycTdMaFu3xWwJFxN5gkUH4" } }
Validate Address: wallet.validate
The "wallet.validate" command returns general information about the coin address specified, including whether the coin address is contained in the local wallet.
shc wallet.validate SLbnKamvSx8FhaBNpHUwffFDLZ16J8phdX { "isvalid": true, "address": "SLbnKamvSx8FhaBNpHUwffFDLZ16J8phdX", "ismine": true, "account": "system" }
Validate Address: wallet.key
Obtain a code that identifies the private key of a coin address.
Validate Address: wallet.setkey
Create a new coin address, for the specified account, with a private key code.
Validate Address: wallet.keyphrase
Obtain a set of phrases that identify the private key associated with a coin address.
Validate Address: wallet.setkeyphrase
Create a coin address in the wallet given a key phrase.
Export Wallet (json): wallet.export
Creates a JSON formatted backup of all the accounts managed.
Export Wallet (datafile): wallet.exportdat
Creates a binary backup, in the tradition bitcoin wallet format, of all the accounts in the wallet.
Import Wallet (json): wallet.import
Creates a JSON formatted backup of all the accounts managed.
Scan Wallet: wallet.rescan
Cycle through all known wallet transactions and verify their state in the block-chain.

Block Commands

BlockChain Info: block.info
Print summarized information about the block-chain.
shc block.info { "version": 2000000, "blockversion": 2, "walletversion": 60000, "blocks": 77029, "difficulty": 0.000488, "pooledtx": 0, "currentblockhash": "5c4e3a637d857c7df925dda1c017dd3864c0fb95c1421276619810f5b95fc8c5", "errors": "" }
Print Block (hash): block.get
Print detailed information about the specified block hash.
shc block.get bc157eefd48e18152c70ad2937bd44e6bb38d218bf13c262a844a3d0ae9264d6 { "blockhash": "bc157eefd48e18152c70ad2937bd44e6bb38d218bf13c262a844a3d0ae9264d6", "version": 536870912, "merkleroot": "5bda555d945bc36806f1eb4913a47a2ecad4569133cce1d59bd82ad94e7be1c6", "time": 1521898215, "stamp": "03/24/18 07:30:15", "nonce": 4422421, "bits": "1e07ffff", "previousblockhash": "3312abddb29aea55f44a0e3c52d397d3041b9e2deaa160f2ac415cdca05057b9", .. }
Print Block Hash (height): block.hash
Obtain the block hash for a specified block height.
shc block.hash 77022 bc157eefd48e18152c70ad2937bd44e6bb38d218bf13c262a844a3d0ae9264d6
Export BlockChain: block.export
Export an entire block-chain to a binary file. The actual export of data is performed asynchronously (in the background), and the log file should be reviewed to determine when the operation is actually done.
shc block.export /root/.shc/block.bin { "mode": "export-block", "minheight": 0, "maxheight": 0, "path": "/root/.shc/block.bin", "state": "init" }
tail /valog/share/shcoind.log ..
[03/24/18 07:47:14] info: shc: PerformBlockChainOperation: saved 77105 blocks to path "/root/.shc/block.bin".
Import BlockChain: block.import
Import a previously exported block-chain into the live system. The imported file will only over-write block records that do not previously exist.
BlockChain Scan: block.verify
Perform an integrity check against the last X blocks in the block-chain.

Transaction Commands

Print Transaction: tx.get
Print details for a particular transaction from it's transaction hash.
shc tx.get 307711dace8c0583b744af8acd1df2073e36b0c7a54b8830a15ae146f8c22ddb { "version": 1, "flag": 1, "txid": "307711dace8c0583b744af8acd1df2073e36b0c7a54b8830a15ae146f8c22ddb", .. }
Print Transaction: tx.pool
Print details for all transaction currently pending in the active "mempool" queue. These are transactions that are actively being inserted into mined blocks.
Print Transaction: tx.validate
Validate a transaction hash associated with the local wallet. Prints summarized information about all local coin addresses associated with the transaction.
shc tx.validate 307711dace8c0583b744af8acd1df2073e36b0c7a54b8830a15ae146f8c22ddb [{ "spent": "false", "ismine": "true", "address": "S7viXBKwUZKy4aPCby3oXzWFDxhZKjGipA" }, { "spent": "false", "ismine": "true", "address": "S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci" }]

Peer Commands

Import Peers: peer.info
Display a summary of information relating to connected peers.
{ "clientversion": 3010000, "protocolversion": 2000000, "socketport": 24104, "connections": 3, "networkhashps": 11609, "errors": "" }
Import Peers: peer.list
Display information about each node peer currently connected to the coin interface.
Export Peers: peer.export
Export all of the known peers to a JSON file.
shc peer.export /root/.shc/peer.json { "mode": "peer.export", "path": "/root/.shc/peer.json", "state": "finished" }
Import Peers: peer.add
Import a JSON file containing node peer information.
Remove Peer: peer.remove
Disconnect and remove the specified peer from the system.

Context Commands

Context Info: ctx.info
Print the current fee to create a context transaction and the total number of context records in the system.
{ "fee": 25, "total": 1 }
Print String Context: ctx.getstr
Prints the ASCII value associated with a particular context name.
shc ctx.getstr "test name" test value
Print Context: ctx.get
Prints detailed information about a context record given it's context hash.
shc ctx.get ab5b128ce3674f81f0271efbbbb191fed56e9a80 { "version": 3, "label": "ab5b128ce3674f81f0271efbbbb191fed56e9a80 test name (1zgfTHd5BQA)", "expire": "Mar 23 08:28:39 2020", "flags": 10244, "signature": "e0539d3ecb54c5c0a29ccd69f0b03dfdfb58bc24", "hash": "ab5b128ce3674f81f0271efbbbb191fed56e9a80", "valuesize": 10, "valuecrc": "1zgfTHd5BQA", "tx": "0dbf21191091e33ad7be3b1ce1983ffffdbedeb804e3ce934021f0fad038d50e" }
Create String Context: ctx.findloc
Search for a location by it's name or with geodetic cordinates.
The "ctx.findloc" will scan an area and attempt to find a location within it. This area includes a span of about 100 sq. miles. The closest location with the smallest precision found will be returned. In addition, geodetic information provided by the share library is also utilized.
shc ctx.findloc "geo:46.9,114.2" { "name": "missoula, mt", "summary": "Montana", "zone": "America/Denver", "code": "MUNI", "country": "US", "geo": "46.94000,114.04000", "type": "Municipal Zone", "springable": "false" } shc ctx.findloc "Missoula, MT" { "name": "missoula, mt", "summary": "Montana", "zone": "America/Denver", "code": "MUNI", "country": "US", "geo": "46.94000,114.04000", "type": "Municipal Zone", "springable": "false" }
Note: The "springable" value denotes whether the geodetic location can be claimed in the SHC spring matrix (see "wallet.stamp").
Create String Context: ctx.getloc
Print detailed information about a particular location by it's name or geodetic cordinates.
The "ctx.getloc" command requires specific cordinates to be specified when a latitude and longitude is specified.
ctx.getloc "Missoula Creek" ctx.getloc geo:46.9846,114.1213
Note: The "springable" value denotes whether the geodetic location can be claimed in the SHC spring matrix (see "wallet.stamp").
Create String Context: ctx.setstr
Create a text format context value. This establishes a simple name=value relationship.
Context names are stored as hash keys. Therefore, the string name of the context key must be known before-hand in order to perform the lookup. A small label is also provided as part of the context record which includes a snippet (or all of) the context name.
Context records are signed against the coin address that paid to generate the transaction. Context transaction typically cost about 25 SHC or less to create. A context will expire two years after the date at which it is either created or updated. The owner can update a context by creating a new one with the same name as a pre-existing one. The "context hash" that identifies a context is also the key hash of it's label. The context is shown as part of the transaction details.
shc ctx.setstr test "test name" "test value" { "version": 3, "label": "ab5b128ce3674f81f0271efbbbb191fed56e9a80 test name (1zgfTHd5BQA)", "expire": "Mar 23 08:28:39 2020", "flags": 10244, "signature": "e0539d3ecb54c5c0a29ccd69f0b03dfdfb58bc24", "hash": "ab5b128ce3674f81f0271efbbbb191fed56e9a80", "valuesize": 10, "valuecrc": "1zgfTHd5BQA", "tx": "0dbf21191091e33ad7be3b1ce1983ffffdbedeb804e3ce934021f0fad038d50e" }
Create Geodetic Context: ctx.setloc
The "ctx.setloc" command creates contextual information about a specific place.
The command includes information about a location zipcode, name, and description. In addition, an optional place type code, country code, and web-url can be specified.
The place type corrosponds to one of the codes returned from the "ctx.loctypes" command.
This command has two different modes. One corrosponds to giving a name to a particular geodetic latitude and longitude corindate, and the other includes providing details about that particular location. A single location (as specified by latitude and longitude) may have multiple names, but it limited to a single set of details. Although some common places may be reserved from use (such as common city names), the application of detailed information to a geodetic location comes on a first-come-first-serve basis. Note that context information expires after two years.
The size of the area being referenced is dependent on the place type specified. For example, "AREA" spans roughly 30 sq. miles, while "SPOT" only spans 8 sq. feet. This precision is used in relation to geodetic lookups performed.
shc ctx.setloc test geo:46.9846,114.1213 "Bitterroot Creek" STM US shc ctx.setloc test "Missoula Creek" geo:46.9846,114.1213
Create Identity Context: ctx.setid
Create a binary context from the raw command-line argument specified.
Create Binary Context (raw): ctx.setbin
Create a binary context from the raw command-line argument specified.
Create Binary Context (file): ctx.setfile
Create a binary context from the absolute path specified.
Print Location Types: ctx.loctypes
Print out all suported location type codes for use with the "ctx.setloc" command.
[{ "name": "AREA", "desc": "General Area", "prec": 1 }, { "name": "MT", "desc": "Mountain", "prec": 1 }, .. }

Address Alias Commands

Alias Info: alias.info
Print the current fee to create an alias transaction and the total number of alias records in the system.
shc alias.info { "fee": 31.250000, "total": 1 }
Create Address Alias: alias.pubaddr
Create a persistent public association with a name and a coin address. Once confirmed, the coin address can be referenced as "@" in command-line operations.
When a coin address is specified the alias label will be published onto the block chain in reference. If the alias label already exists, then a transfer will occur providing you are the original owner.
A coin address will be automatically created if none is specified. Only "pub-key" coin addresses are currently supported. An alias will expire after 12 years.
An alias cost around 30 SHC to create and will decrease over time.
shc alias.pubaddr test S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci { .. "alias": { "version": 1, "label": "test", "expire": "Mar 21 09:37:40 2030", "type": 30, "addr": "S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci", "type-name": "pubkey" } }
shc wallet.send bank @test 2 d438fea502b7113f155617fc1b400161bb3045645094df5423ce7e484fadf7f2
List Address Alias: alias.list
Print all aliases that match the keyword provided.
shc alias.list { "test": { "block": "79b04f63fe5602f40bc559b1c5b39b730a2d6ea2d6b4ab491904d6054b1add71", "tx": "abb12ed2f4a74c58432afa9e19c08afad1d3dd84052f23be534e96ed53e11d4f", "alias": "77135966b271a06928cdff5548dbbaed61ee7250", "addr": "S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci" } }
Print Address Alias: alias.getaddr
Print details about a particular coin address alias given it's name.
shc alias.getaddr test { "version": 1, "label": "test", "expire": "Mar 21 09:37:40 2030", "type": 30, "addr": "S2fzfzf1SStvaMzjGpCtYKxY3t8PXus9Ci", "type-name": "pubkey" }

Certificate Commands

Certificate Info: cert.info
Prints the current certificate transaction fee and the total number of certificates created on the block-chain.
shc cert.info { "fee": 14.750000, "total": 1 }
Certificate Info: cert.list
Search for a certificate given the provided keyword.
shc cert.list test { "test certificate": "8069f1bbfb435cfa1efdb454684446528343b809" }
Certificate Info: cert.new
The "cert.new" command is used to create a new certificate on the block-chain. The certificate than may be used to derive other certificates or dispense licences. The certificate may have an optional fee specified that will be required to derive or license it.
A certificate can either be designated for issueing other certificates or granting licenses, but not both. Either form of the certificate may be used in order to donate or send a certified coin transfer.
A certificate is signed against a private key that is generated from the associated extended account coin address. You may optionally specify a hexadecimal seed to use for generating the private key. The certificate's private key is not stored in a database or a transaction, and requires the original coin address to be present in the local wallet to be determined. The public key is provided as part of the certificate transaction, and can be used in order to verify the integrity of the associated signature.
The average fee for registering a new certificate is initially about 15 SHC and will decrease over time. The details of the certificate are visible in the underlying transaction that it was generated in.
The frame-work of the certificate is designed to be compatible with the x509 format. See the "shcert" share library utility program for more information on exporting x509 certificate created on the ShionCoin block-chain. Certificates may also be used to provide licensing authentication to run or provide features to programs using the share library "esig" functionality (see the "shesig_verify()" function).
Note that the certificate may contain identifying information such as the originating coin address and, when available, the geodetic location.
shc cert.new test "test certificate" { "version": 1, "flag": 17, "txid": "18d0a73c96af3dd211f27e4ada898e13b4cf25223da2591289edb8a1e86f1129", .. "certificate": { "version": 3, "label": "test certificate", "expire": "Mar 24 04:13:46 2066", "geo": "46.770000,113.980000", "addr": "SC2j6kxbrKzfpxsGqBQSrxeDh2CdPn1TLJ", "certhash": "8069f1bbfb435cfa1efdb454684446528343b809", "issuer": "0000000000000000000000000000000000000000", "serialno": "0c96a132d74df2522f38babf0733224c", "flags": 10244, "signature": "0d5a4e6c7d4975ee443cfc2e057d3d76070bd2f5", "sigpubkey": "0334d9f89253fa0837a1524266414509bdce478368" } }
Certificate Info: cert.get
Print the details of a certificate record given the certificate hash.
{ "version": 3, "label": "test certificate", "expire": "Mar 24 04:13:46 2066", "geo": "46.770000,113.980000", "addr": "SC2j6kxbrKzfpxsGqBQSrxeDh2CdPn1TLJ", "certhash": "8069f1bbfb435cfa1efdb454684446528343b809", "issuer": "0000000000000000000000000000000000000000", "serialno": "0c96a132d74df2522f38babf0733224c", "flags": 10244, "signature": "0d5a4e6c7d4975ee443cfc2e057d3d76070bd2f5", "sigpubkey": "0334d9f89253fa0837a1524266414509bdce478368", "txid": "18d0a73c96af3dd211f27e4ada898e13b4cf25223da2591289edb8a1e86f1129" }
Certificate Info: cert.derive
Derive a certificate from another certificate. You can optionally specify a fee to be associated with the new certificate, and a fee may be required if one is associated with the parent certificate.
Certificate Info: cert.license
Generate a license from a certificate. A license represents authorization to use a particular product and typically requires a fee to be paid. You can optionally specify a hexadecimal seed to be used when creating the certificate's private key.
Certificate Info: cert.export
Exports the private key information from the extended account that is used to claim ownership over a particular certificate.
Ownership and management of a certificate depends on having specific coin address key(s) in the coin wallet. Exporting a certificate provides JSON formatted content which can be used with "wallet.import" command to attain ownership of a certificate.
submitted by shioncoin to u/shioncoin [link] [comments]

The World Wide Web runs on webservers in datacenters. The World Wide Blockchain should also run on "blockservers" in datacenters. The "sweet spot" of Bitcoin scaling, reliability, security & convenience is *nodes in the cloud* + *private keys offline*. The is the future of Bitcoin. Let's embrace it.

Four-Line Summary
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
Longer Summary
(1) Bitcoin nodes should be online - on "online public blockservers", ideally running on big, powerful webservers with high connectivity & high-end specs, in datacenters.
(2) Bitcoin private keys should be offline - in "offline private wallets", ideally running on tiny, cheap computers with no connectivity & low-end specs, in your pocket.
https://blockchainbdgpzk.onion/pushtx
(3) We should embrace "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") and "keys-in-your-pocket" as the future of Bitcoin, providing the optimal combination (or "sweet spot") of scaling, reliability, security & convenience.
Details
Bitcoin has been a success for 7 years and is continuing to grow and needs a simple and safe way to scale.
So, now it is time for people to embrace nodes-in-datacenters a/k/a blockservers-in-the-cloud (plus private keys offline - to enable 100% security with "offline signing of transactions") as Bitcoin's future.
Why?
(1) ...because everything on the web actually works this way already - providing the optimal combination of scaling, reliability, security & convenience.
  • You already keep your passwords for websites and webmail on you - usually physically offline (in your head, written on a slip of paper, or maybe in an offline file, etc.)
  • When was the last time you ran a server out of your home to continually spider and index terabytes of data for the entire web?
  • Why should you need to hold 60 GB of data (and growing) when you just want to check the balance of a single Bitcoin address (eg, one of your addresses)?
  • Bitcoin is still very young, and if in order to fulfill its earlier promise about banking the unbanked, microtransactions, DACs (decentralized autonomous corporations), IoT (Internet of Things), smart contracts, etc., then we should hope and expect that the blockchain will someday take up terabytes, not "mere" gigabytes - just like Google's giant search engine index, which they update every few minutes.
  • Do you really think you should be performing this kind of heavy-duty indexing, querying and "serving" on a low-end machine behind a low-end connection in your home, when companies like Google can do it so much better?
  • As long as you physically control your own private keys, who cares if you rely on blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) to lookup up public information about balances and transactions on Bitcoin addresses?
  • They're not going to be able to lie to you. The meaning of "permissionless" and "decentralized" is that anybody can set up a full-node / "blockserver" (plus "blockchain search engines"), and anybody can (and will) immediately report it to the whole world if a website like blockchain.info or blockexplorer.com (or someday: bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com) provides false information - which would seriously damage their business, so they'll never do it.
(2) ...because webservers and webmail don't lie to you, and "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") aren't going to be able to lie to you either - since it would not be in their interest, and they would get caught if they did.
  • When was the last time google.com or or yahoo.com or msn.com (bing.com) lied to you when you performed a search or looked up some news?
  • When was the last time blockchain.info or blockexplorer.com lied to you when you checked the balance at a Bitcoin address?
  • Currently, with billions of websites and news sources ("webservers") running around the world in datacenters, there are "web search engines" (eg, google.com or news.google.com or msn.com or yahoo.com) where you can look up information and news on the World Wide Web. In order to survive, the business model of these "web search engines" is about getting lots of visitors, and providing you with reliable information. It's not in their best interests to lie - so they never do. These sites simply "spider" / "crawl" / "index" the entire massive web out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • In the future, when there are 10,000 or 100,000 Bitcoin full-nodes ("blockservers") running around the world in datacenters, there will be "blockchain search engines" (eg, bitcoin.google.com or bitcoin.msn.com or bitcoin.yahoo.com - just like we already have blockchain.info and blockexplorer.com, etc.) where you will be able to lookup transactions and balances on the World Wide Blockchain. In order to survive, their business model will be about getting lots of visitors, and providing you with reliable information. It's not going to be in their best interests to lie - so they never will. These sites will simply "spider" / "crawl" / "index" the entire massive blockchain out there (every few minutes actually), and then conveniently filter / aggregate / present the results as a free service to you.
  • The business model for "blockchain search engines" might eventually showing ads or sponsored content along with the Bitcoin blockchain search functions which we are primarily interested in. This would be quite usable and simple and safe, and similar to how most people already use sites like google.com, yahoo.com, msn.com, etc.
(3) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide simple scaling now.
  • Nodes-in-the-cloud are the only solution which can provide scaling now - using existing, tested software - by simply adjusting - or totally eliminating - the MAXBLOCKSIZE parameter.
  • They can use existing, tested, reliable software: thousands of 2MB+ nodes are already running.
  • About 1,000 Classic nodes have been spun up in AWS ECS datacenters (Amazon Web Services - Elastic Computer Cloud) in the past month. (Uninformed yes-men at r\bitcoin try to spin this as a "bad thing" - but we should embrace it as a "good thing", explicitly espousing the philosophy outlined in this post.)
  • "Nodes-in-datacenters" (ie, "blockservers-in-the-cloud") can be flexibly and easily configured to provide all the scaling needed in terms of:
    • Bandwidth (throughput)
    • Hard drive space (storage)
    • RAM (memory)
    • CPU (processing power)
  • The yes-men and sycophants and authoritarians and know-nothings on the censored subreddit r\bitcoin are forever fantasizing about some Rube Goldberg vaporware with a catchy name "Lightning Network" which doesn't even exist, and which (at best, if it ever does come into existence) would be doomed to be slow, centralized and expensive. LN is a non-thing.
  • Those same people on the censored r\bitcoin forum are desperately trying to interpret the thousands of Classic nodes as a negative thing - and their beloved non-existent Lightning Network as a positive thing. This is the kind of typical down-is-up, black-is-white thinking that always happens in a censorship bubble - because the so-called Lightning Network isn't even a thing - while Classic is a reality.
(4) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more reliability / availability.
  • 24/7/365 tech support,
  • automatic server reboots,
  • server uptime guarantees,
  • electrical power uptime guarantees.
(5) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide better security.
(6) ...because "nodes-in-datacenters" (ie, "blockservers-in-the-cloud") provide more convenience.
(7) ...because separating "full-node" functionality from "wallet" functionality by implementing "hierarchical deterministic (HD)" wallets is cleaner, safer and more user-friendly.
Armory, BIP 0032 provide "hierarchical deterministic (HD)" wallets.
https://en.bitcoin.it/wiki/BIP_0032
https://en.bitcoin.it/wiki/Deterministic_Wallet
http://www.bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/
https://en.bitcoin.it/wiki/How_to_set_up_a_secure_offline_savings_wallet
http://bitcoin.stackexchange.com/questions/16646/offline-wallets-electrum-vs-armory
https://www.youtube.com/watch?v=DQumISxkJsQ
  • "Hierarchical deterministic" wallets are required in order to be able to keep private keys offline, and "offline-sign" transactions. This is because a wallet needs to be "deterministic" in order to be able to generate the same sequence of random private keys in the offline wallet and the online wallet.
  • "Hierarchical deterministic (HD)" wallets are also required in order to allow a user to perform a single, one-time, permanent backup of their wallet - which lasts forever (since a HD wallet already deterministically "knows" the exact sequence of all the private keys which it will generate, now and in the future - unlike the antiquated wallet in Core / Blockstream's insecure, non-user-friendly Bitcoin implementation, which pre-generates keys non-deterministically in batches of 100 - so old backups of Core / Blockstream wallets could actually be missing later-generated private keys, rendering those backups useless).
  • Bitcoin is now over 7 years old, but Core / Blockstream has mysteriously failed to provide this simple, essential feature of HD wallets - while several other Bitcoin implementations have already provided this.
  • This feature is extremely simple, because it is all done entirely offline - not networking, no game theory, no non-deterministic behavior, no concurrency. The "HD wallet" functionality just needs some very basic, standard crypto and random-number libraries to generate a "seed" which determines the entire sequence of all the private keys which the wallet can generate.
  • Newer Bitcoin implementations (unlike Core / Blockstream) have now "modularized" their code, also separating "full-node" functionality from "wallet" functionality at the source code level:
  • in Golang - "btcsuite" from Conformal, providing "btcd" (node) and "btcwallet" (wallet):
  • in Haskell + MySQL/SQLite - "Haskoin":
  • There is also a Bitcoin implementation which provides only a full-node:
  • in Ruby + Postgres - "Toshi" from CoinBase:
  • [Tinfoil] The fact that Core / Blockstream has failed to provide HD and failed to clean up and modularize its messy spaghetti code - and the fact that Armory is now out of business (and both companies received millions of dollars in venture capital, and the lead dev of Armory left because the investors were creating needless obstacles regarding intellectual property rights, licensing, etc.) - these facts are suspicious because suggest that these corporations may be trying to discourage dev-friendliness, user-friendliness, security, convenience, and on-chain scaling.
(8) ...because the only thing most users really want and need is total physical control over their private keys.
  • Most people do not want or need to run a Bitcoin full-node, because:
    • A Bitcon full-node consumes lots of disk space and bandwidth, and can be expensive and complicated to set up, run, maintain, and secure.
    • A Bitcoin full-node requires an extremely high level of hardware and software security - which most computer users have never even attempted.
  • As Armory or Electrum users know, the simplest and safest way to provide 100% guaranteed security is by using "offline storage" or "cold storage" or "air gap".
  • In other words, ideally, you should never even let your private keys touch a device which has (or had) the hardware and/or software to go online - ie: no Wi-Fi, no 3G, and no Ethernet cable.
  • This offline machine is used only to generate private keys (where a Bitcoin private key is literally actually just any truly random number up to around 1078 ) - and also used to "offline-sign" transactions.
  • So it is simplest and safest if your private keys are on an offline machine which never can / did go online - and such as machine can be very cheap, because it really only needs to run some very basic random-number-generator and crypto libraries.
  • It would be simplest and safest for people to own a tiny cheap 100% secure offline computer to use only for:
    • generating / storing Bitcoin private keys
    • signing Bitcoin transactions
    • possibly also for generating / storing other kinds of private keys (other cryptocurrencies, GPG keys, etc.)
Four-Line Summary / Conclusion:
(1) Bitcoin nodes (and everyone's public addresses) should be online - in datacenters.
(2) Bitcoin wallets (and your private keys) should be offline - in your pocket.
(3) This architecture provides the optimal combination or "sweet spot" for short-term and long-term Bitcoin scaling, reliability, security & convenience.
(4) The best communications strategy is for us to embrace the approach of "nodes-in-datacenters" a/k/a "blockservers-in-the-cloud" - instead of apologizing for it.
submitted by ydtm to btc [link] [comments]

Why haven't you bought Skycoin yet?

SKYCOIN: A cryptocurrency that is technically superior to any altcoin there is. Transactions with zero fees that take approximately two seconds, unlimited transaction rate, no need for miners and block rewards, low power usage, ALL of bitcoin's technical vulnerabilities fixed, a consensus mechanism superior to anything that exists, resistant to all conceivable threats (government censorship, community infighting, cybenucleaconventional warfare, etc).
SKYWIRE: A decentralized ISP where you earn coins for forwarding traffic/bandwidth (like Tor but faster, not backdoored by NSA and you are getting paid to run a node), that will give everyone nearly free internet access and will get a lot of users and actually be useful. Different networking protocol than TCP/IP, designed to be immune from literally all currently known network based attacks.
SKYLEDGER: A platform that's their version of Ethereum's ERC20, but with Ethereum's technical limitations fixed. Every coin is given their own blockchain and the platform runs on top of the skywire infrastructure. Coins have already started doing ICOs on skyledger (about 30 coins lined up so far). There's a programming language (CX) and it's not limited to just "smart contracts". Developers of each chain can hardcode whatever they want to do. For example full video games could be embedded on the blockchain, if anyone would want that.
Then there's the massive ecosystem of stuff being built on top of the previous three things. Like the sky-messenger, the file sharing/dropbox functionality, distributed social media (sort of like Steemit but running on skycoin's infrastructure and platform), DEX and OTC markets for the whole skyledger family. There's about 15 development teams working on different projects within skycoin's ecosystem. And unlike shitty erc20 tokens promising similar things, most of this stuff is already being developed, you can check the github to see the progress.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A list of bitcoin's technical vulnerabilities that skycoin has fixed:
submitted by PostScarcityEarth to ShrugLifeSyndicate [link] [comments]

Finding a lost wallet

Hello, A few years ago I tried my hand at trading bitcoins and didn't do so well. I (think I) left all my remaining bitcoins from the endeavor in a single wallet and basically abandoned it. Now I'm looking to recover the wallet. Pouring over my pages and pages of my logins+passwords to every bitcoin related website in 2014, I've been unable to find one that holds a balance. However, my coinbase account lists two withdrawals, and a quick blockchain lookup tells me one of them has a current balance. Based on my poorly scribbled notes, the address could be tied to Cryptsy wallet (which means its gone, right?), or a desktop wallet. I have no idea how to find it. I was hoping the public key would return some kind of location so I could log into wherever I put it and get my coins back. Any suggestions? Is what I'm asking even possible in crypto markets?
submitted by Warfritlive to CryptoMarkets [link] [comments]

Introducing IHB.io and yet another decentralized open source way that block chain technology will change the world.

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512
tl;dr: check our our new website (ihb.io). privacy overreach is getting out of control and we are attacking this problem by disrupting a multi billion dollar industry.
Dear Bitcoin Community
I hope all is well and this message finds you in good spirits. This is probably not how you should rebrand, but at the end of the day when we started this company one year ago we set out to do something different and we are sticking to our plans.
Phase 1 is over and we are almost ready to move on to Phase 2, but that requires a little input (and hopefully help) from the community. After all, if we don’t have your trust and buy in, we may as well shut down.
For the past 12 months we have attracted 67,000 regular readers who came to our old site ihavebitcoins.com to read our content and look at our market data.
Our analytics also told us:
*Many of us love using Tor. *Many of us love to clear their cache (daily). *Many of us are tech savvy and use high end devices as compared to the average person. *Many of us are from some of the most beautiful Tier 1 cities in the world. *Many of us use Opera and Linux systems more heavily than we have ever seen. 
A lot of people in the community had web behavior that trends towards being security and privacy conscious. Because of this we removed the google analytics cookie and we hope the tradeoff will be worth it.
We know what we did and yes it is so painful seeing our Alexa rank disappear and not get any feedback about site statistics.
We are going to be 100% cookie free. No more annoying popups for our European readers.
*Coindesk 8 *New York Times 25 *Wall Street Journal 57 *NewsBTC 4 *XAPO 6 *Hive Wallet 1 *Coinbase 5 *BTC China 1 *Bitstamp 1 *BTC-e 2 *The Guardian 15 *Drudgereport 29 *Bitcoin Magazine 3 *Coin Telegraph 2 *Crypto Coins News 1 *Bitcoin Foundation 2 *Wikileaks 0 *Business Insider 37 *Huffington Post 25 *BuzzFeed 23 
We like the above news sites and products and are in no way knocking them. There is no alternative so we understand why they are using cookies, but 57 cookies? What are you planning to do, rob a house? Do you really need to know what bank your readers use or when they are looking to purchase a new car?
But in regards to digital marketing, they are essential. Without them, websites would have no avenue of dealing with the largest ad network in the world, Google. Digital ad spending in 2013 was $119.8 billion worldwide. Google’s share of that, according to its 2013 annual financial reporting, was $50.57 billion.
Our Solution
IHB.io has a desire to make money, and we need it to keep doing what we are doing (it is not cheap), so we are working with the Mastercoin protocol to implement an open sourced ad based system that will tie a website’s proprietary server side IP data to web visits and requests pulled.
In a simple non cumbersome manner (still working on the UI for this) we want have you guys (if you choose) give us your public bitcoin address. That address key will then be associated to your specific IP address and if your address changes or if you access the site from another IP you will see a red light in the top right corner, which if you click on, you will be prompted to give us your key again so we can associate the new IP with your public bitcoin address.
We want to create a smart contract on the blockchain with advertisers who will then pay a separate address for the privilege of advertising to a demographic that we believe is affluent, educated, possesses an above average intellect that also happens to be in the coveted 18-34 demographic. Each contract can be unique to the advertiser's needs and the payouts are made if only the required outcomes for it are successful. After the payout is made to the address, the revenue will be split amongst participants. All of this will be public.
In return for your assistance helping to change the paradigm of digital marketing, we want to give our readers a share of the revenue earned. We believe we can convince select advertisers to adapt this system because the Bitcoin demographic is too valuable to ignore. It is no coincidence that all major publications regularly write about Bitcoin for SEO. In the journalism business those articles generate a lot of traffic. At the same time that mainstream media tells us Bitcoin is going nowhere in an article, they are making money from it and in many cases, us directly (judging from the well written comments left on some of these stupid articles).
The whitepaper is almost complete and we will publish it in the coming weeks. We are still figuring out the method for encrypting the IP data so we even we don’t have access to it and making sure it can't be gamed. But basically we want to move towards an opt-in system where users can still maintain 100% privacy.
The new ad network will be:
• Trustless and 100% open source • Secure distributed data sharing that is 100% private • A robust and scalable form of coordination amongst advertisers and websites.
Because of this we have decided to rebrand as IHB.io. It is much easier to recall and type than ihavebitcoins.com, and our plan is to never have a cookie on our site EVER so we can’t count on a lot of the tools that usually bring up your organic traffic.
In our lifetime humans have given up so much privacy that it scares us. We get really worried when we hear the director of the FBI attack Apple and Google’s encryption the way he does. When did we lose our right to private communications? If Paul Revere was tracked on his horse, I can guarantee you the English would have won the revolution. After all he was a terrorist.
We hope this will help Bitcoin as it provides yet another decentralized solution that the block chain can solve and also returns our right to privacy at the same time. It reduces the need for huge server farms and gets rid of the middle man taking a cut. We want to give that cut back to you.
In our opinion, good journalism is being tainted by technology and the need to get views and clicks. Editors must write the catchy headlines and do the stupid Top 10 this and Top 10 that articles to get clicks. That will never go away, but hopefully there will be a clear distinction in the incentives going forward. After all, we basically vote with every click, and we all know the Kardashians are winning on Yahoo.com.
We can’t ask you for an upvote, and we don’t want to collect any of your private data from the very beginning of this experiment, but we do need to get an idea of interest in our Open Source AD Network and we also need a whole bunch of beta testers for this model to be proven.
If you are interested in participating in this beta please leave us a message in anyway possible, Google+, Facebook, follow us on Twitter or comment on this Reddit post. We are very open to feedback from the community and if someone or organization wants to help us with this open source project we would love that as well. You can send us an email to [email protected]
Thank You. IHB
ps. if nothing else, we would appreciate feedback on our new site design. we are most interested in finding out about load times and optimization for your screen. if something is off or did not render properly, please leave a comment with the issue and what device, you were using.
“In the very first month of Indian Opinion, I realized that the sole aim of journalism should be service. The newspaper press is a great power, but just as an unchained torrent of water submerges whole countrysides and devastates crops, even so an uncontrolled pen serves but to destroy. If the control is from without, it proves more poisonous than want of control. It can be profitable only when exercised from within. If this line of reasoning is correct, how many of the journals in the world would stand the test? But who would stop those that are useless? And who should be the judge? The useful and the useless must, like good and evil generally, go on together, and man must make his choice.” Gandhi -----BEGIN PGP SIGNATURE----- Comment: GPGTools - https://gpgtools.org
iQEcBAEBCgAGBQJUUX+YAAoJEPkg5niIBlAYG/QH/RpxFCNHfluXjDytgpovyaxH 6nJpVSXQGArdqdHJJIoeRcltHKLX0F4P5Z5qpezUZjW4GbyCz4KBi4iQC6WFmO Eq+Woed5+OQwOE2mXocwO7EzT/+h0MJG7rW4uTIEJulozj56tXszEX7NX8G6w5Ym NLr7F9OcIL5UPo5QWoWXJS30NGi0PDU9EngwsTm/prnBOc/QD18WzhjTSyTbEk6K kNimfgdvb4c4NtFLfr1/vaNt+wxxCaQPYqTxrnbZntBMfFMJXUvGe1sjx86NVHmf VgSyuNty3hx6TcqtpLLYxvalTA8B6nHbD/cHshxklhE/SUdruKBD9lPbdZBlDKQ= =N0gX -----END PGP SIGNATURE-----
IHB Public Key
submitted by theBitcoin_CEO to Bitcoin [link] [comments]

Finding a lost wallet

Hello,
A few years ago I tried my hand at trading bitcoins and didn't do so well. I (think I) left all my remaining bitcoins from the endeavor in a single wallet and basically abandoned it. Now I'm looking to recover the wallet.
Pouring over my pages and pages of my logins+passwords to every bitcoin related website in 2014, I've been unable to find one that holds a balance. However, my coinbase account lists two withdrawals, and a quick blockchain lookup tells me one of them has a current balance.
Based on my poorly scribbled notes, the address could be tied to Cryptsy wallet (which means its gone, right?), or a desktop wallet. I have no idea how to find it. I was hoping the public key would return some kind of location so I could log into wherever I put it and get my coins back.
Any suggestions? Is what I'm asking even possible in crypto markets?
submitted by Warfritlive to Bitcoin [link] [comments]

Bitcoin Core 0.10.0 released | Wladimir | Feb 16 2015

Wladimir on Feb 16 2015:
Bitcoin Core version 0.10.0 is now available from:
https://bitcoin.org/bin/0.10.0/
This is a new major version release, bringing both new features and
bug fixes.
Please report bugs using the issue tracker at github:
https://github.com/bitcoin/bitcoin/issues
The whole distribution is also available as torrent:
https://bitcoin.org/bin/0.10.0/bitcoin-0.10.0.torrent
magnet:?xt=urn:btih:170c61fe09dafecfbb97cb4dccd32173383f4e68&dn;=0.10.0&tr;=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce&tr;=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr;=udp%3A%2F%2Fopen.demonii.com%3A1337&ws;=https%3A%2F%2Fbitcoin.org%2Fbin%2F
Upgrading and downgrading

How to Upgrade
If you are running an older version, shut it down. Wait until it has completely
shut down (which might take a few minutes for older versions), then run the
installer (on Windows) or just copy over /Applications/Bitcoin-Qt (on Mac) or
bitcoind/bitcoin-qt (on Linux).
Downgrading warning
Because release 0.10.0 makes use of headers-first synchronization and parallel
block download (see further), the block files and databases are not
backwards-compatible with older versions of Bitcoin Core or other software:
  • Blocks will be stored on disk out of order (in the order they are
received, really), which makes it incompatible with some tools or
other programs. Reindexing using earlier versions will also not work
anymore as a result of this.
  • The block index database will now hold headers for which no block is
stored on disk, which earlier versions won't support.
If you want to be able to downgrade smoothly, make a backup of your entire data
directory. Without this your node will need start syncing (or importing from
bootstrap.dat) anew afterwards. It is possible that the data from a completely
synchronised 0.10 node may be usable in older versions as-is, but this is not
supported and may break as soon as the older version attempts to reindex.
This does not affect wallet forward or backward compatibility.
Notable changes

Faster synchronization
Bitcoin Core now uses 'headers-first synchronization'. This means that we first
ask peers for block headers (a total of 27 megabytes, as of December 2014) and
validate those. In a second stage, when the headers have been discovered, we
download the blocks. However, as we already know about the whole chain in
advance, the blocks can be downloaded in parallel from all available peers.
In practice, this means a much faster and more robust synchronization. On
recent hardware with a decent network link, it can be as little as 3 hours
for an initial full synchronization. You may notice a slower progress in the
very first few minutes, when headers are still being fetched and verified, but
it should gain speed afterwards.
A few RPCs were added/updated as a result of this:
  • getblockchaininfo now returns the number of validated headers in addition to
the number of validated blocks.
  • getpeerinfo lists both the number of blocks and headers we know we have in
common with each peer. While synchronizing, the heights of the blocks that we
have requested from peers (but haven't received yet) are also listed as
'inflight'.
  • A new RPC getchaintips lists all known branches of the block chain,
including those we only have headers for.
Transaction fee changes
This release automatically estimates how high a transaction fee (or how
high a priority) transactions require to be confirmed quickly. The default
settings will create transactions that confirm quickly; see the new
'txconfirmtarget' setting to control the tradeoff between fees and
confirmation times. Fees are added by default unless the 'sendfreetransactions'
setting is enabled.
Prior releases used hard-coded fees (and priorities), and would
sometimes create transactions that took a very long time to confirm.
Statistics used to estimate fees and priorities are saved in the
data directory in the fee_estimates.dat file just before
program shutdown, and are read in at startup.
New command line options for transaction fee changes:
  • -txconfirmtarget=n : create transactions that have enough fees (or priority)
so they are likely to begin confirmation within n blocks (default: 1). This setting
is over-ridden by the -paytxfee option.
  • -sendfreetransactions : Send transactions as zero-fee transactions if possible
(default: 0)
New RPC commands for fee estimation:
  • estimatefee nblocks : Returns approximate fee-per-1,000-bytes needed for
a transaction to begin confirmation within nblocks. Returns -1 if not enough
transactions have been observed to compute a good estimate.
  • estimatepriority nblocks : Returns approximate priority needed for
a zero-fee transaction to begin confirmation within nblocks. Returns -1 if not
enough free transactions have been observed to compute a good
estimate.
RPC access control changes
Subnet matching for the purpose of access control is now done
by matching the binary network address, instead of with string wildcard matching.
For the user this means that -rpcallowip takes a subnet specification, which can be
  • a single IP address (e.g. 1.2.3.4 or fe80::0012:3456:789a:bcde)
  • a network/CIDR (e.g. 1.2.3.0/24 or fe80::0000/64)
  • a network/netmask (e.g. 1.2.3.4/255.255.255.0 or fe80::0012:3456:789a:bcde/ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
An arbitrary number of -rpcallow arguments can be given. An incoming connection will be accepted if its origin address
matches one of them.
For example:
| 0.9.x and before | 0.10.x |
|--------------------------------------------|---------------------------------------|
| -rpcallowip=192.168.1.1 | -rpcallowip=192.168.1.1 (unchanged) |
| -rpcallowip=192.168.1.* | -rpcallowip=192.168.1.0/24 |
| -rpcallowip=192.168.* | -rpcallowip=192.168.0.0/16 |
| -rpcallowip=* (dangerous!) | -rpcallowip=::/0 (still dangerous!) |
Using wildcards will result in the rule being rejected with the following error in debug.log:
 Error: Invalid -rpcallowip subnet specification: *. Valid are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). 
REST interface
A new HTTP API is exposed when running with the -rest flag, which allows
unauthenticated access to public node data.
It is served on the same port as RPC, but does not need a password, and uses
plain HTTP instead of JSON-RPC.
Assuming a local RPC server running on port 8332, it is possible to request:
In every case, EXT can be bin (for raw binary data), hex (for hex-encoded
binary) or json.
For more details, see the doc/REST-interface.md document in the repository.
RPC Server "Warm-Up" Mode
The RPC server is started earlier now, before most of the expensive
intialisations like loading the block index. It is available now almost
immediately after starting the process. However, until all initialisations
are done, it always returns an immediate error with code -28 to all calls.
This new behaviour can be useful for clients to know that a server is already
started and will be available soon (for instance, so that they do not
have to start it themselves).
Improved signing security
For 0.10 the security of signing against unusual attacks has been
improved by making the signatures constant time and deterministic.
This change is a result of switching signing to use libsecp256k1
instead of OpenSSL. Libsecp256k1 is a cryptographic library
optimized for the curve Bitcoin uses which was created by Bitcoin
Core developer Pieter Wuille.
There exist attacks[1] against most ECC implementations where an
attacker on shared virtual machine hardware could extract a private
key if they could cause a target to sign using the same key hundreds
of times. While using shared hosts and reusing keys are inadvisable
for other reasons, it's a better practice to avoid the exposure.
OpenSSL has code in their source repository for derandomization
and reduction in timing leaks that we've eagerly wanted to use for a
long time, but this functionality has still not made its
way into a released version of OpenSSL. Libsecp256k1 achieves
significantly stronger protection: As far as we're aware this is
the only deployed implementation of constant time signing for
the curve Bitcoin uses and we have reason to believe that
libsecp256k1 is better tested and more thoroughly reviewed
than the implementation in OpenSSL.
[1] https://eprint.iacr.org/2014/161.pdf
Watch-only wallet support
The wallet can now track transactions to and from wallets for which you know
all addresses (or scripts), even without the private keys.
This can be used to track payments without needing the private keys online on a
possibly vulnerable system. In addition, it can help for (manual) construction
of multisig transactions where you are only one of the signers.
One new RPC, importaddress, is added which functions similarly to
importprivkey, but instead takes an address or script (in hexadecimal) as
argument. After using it, outputs credited to this address or script are
considered to be received, and transactions consuming these outputs will be
considered to be sent.
The following RPCs have optional support for watch-only:
getbalance, listreceivedbyaddress, listreceivedbyaccount,
listtransactions, listaccounts, listsinceblock, gettransaction. See the
RPC documentation for those methods for more information.
Compared to using getrawtransaction, this mechanism does not require
-txindex, scales better, integrates better with the wallet, and is compatible
with future block chain pruning functionality. It does mean that all relevant
addresses need to added to the wallet before the payment, though.
Consensus library
Starting from 0.10.0, the Bitcoin Core distribution includes a consensus library.
The purpose of this library is to make the verification functionality that is
critical to Bitcoin's consensus available to other applications, e.g. to language
bindings such as [python-bitcoinlib](https://pypi.python.org/pypi/python-bitcoinlib) or
alternative node implementations.
This library is called libbitcoinconsensus.so (or, .dll for Windows).
Its interface is defined in the C header [bitcoinconsensus.h](https://github.com/bitcoin/bitcoin/blob/0.10/src/script/bitcoinconsensus.h).
In its initial version the API includes two functions:
  • bitcoinconsensus_verify_script verifies a script. It returns whether the indicated input of the provided serialized transaction
correctly spends the passed scriptPubKey under additional constraints indicated by flags
  • bitcoinconsensus_version returns the API version, currently at an experimental 0
The functionality is planned to be extended to e.g. UTXO management in upcoming releases, but the interface
for existing methods should remain stable.
Standard script rules relaxed for P2SH addresses
The IsStandard() rules have been almost completely removed for P2SH
redemption scripts, allowing applications to make use of any valid
script type, such as "n-of-m OR y", hash-locked oracle addresses, etc.
While the Bitcoin protocol has always supported these types of script,
actually using them on mainnet has been previously inconvenient as
standard Bitcoin Core nodes wouldn't relay them to miners, nor would
most miners include them in blocks they mined.
bitcoin-tx
It has been observed that many of the RPC functions offered by bitcoind are
"pure functions", and operate independently of the bitcoind wallet. This
included many of the RPC "raw transaction" API functions, such as
createrawtransaction.
bitcoin-tx is a newly introduced command line utility designed to enable easy
manipulation of bitcoin transactions. A summary of its operation may be
obtained via "bitcoin-tx --help" Transactions may be created or signed in a
manner similar to the RPC raw tx API. Transactions may be updated, deleting
inputs or outputs, or appending new inputs and outputs. Custom scripts may be
easily composed using a simple text notation, borrowed from the bitcoin test
suite.
This tool may be used for experimenting with new transaction types, signing
multi-party transactions, and many other uses. Long term, the goal is to
deprecate and remove "pure function" RPC API calls, as those do not require a
server round-trip to execute.
Other utilities "bitcoin-key" and "bitcoin-script" have been proposed, making
key and script operations easily accessible via command line.
Mining and relay policy enhancements
Bitcoin Core's block templates are now for version 3 blocks only, and any mining
software relying on its getblocktemplate must be updated in parallel to use
libblkmaker either version 0.4.2 or any version from 0.5.1 onward.
If you are solo mining, this will affect you the moment you upgrade Bitcoin
Core, which must be done prior to BIP66 achieving its 951/1001 status.
If you are mining with the stratum mining protocol: this does not affect you.
If you are mining with the getblocktemplate protocol to a pool: this will affect
you at the pool operator's discretion, which must be no later than BIP66
achieving its 951/1001 status.
The prioritisetransaction RPC method has been added to enable miners to
manipulate the priority of transactions on an individual basis.
Bitcoin Core now supports BIP 22 long polling, so mining software can be
notified immediately of new templates rather than having to poll periodically.
Support for BIP 23 block proposals is now available in Bitcoin Core's
getblocktemplate method. This enables miners to check the basic validity of
their next block before expending work on it, reducing risks of accidental
hardforks or mining invalid blocks.
Two new options to control mining policy:
  • -datacarrier=0/1 : Relay and mine "data carrier" (OP_RETURN) transactions
if this is 1.
  • -datacarriersize=n : Maximum size, in bytes, we consider acceptable for
"data carrier" outputs.
The relay policy has changed to more properly implement the desired behavior of not
relaying free (or very low fee) transactions unless they have a priority above the
AllowFreeThreshold(), in which case they are relayed subject to the rate limiter.
BIP 66: strict DER encoding for signatures
Bitcoin Core 0.10 implements BIP 66, which introduces block version 3, and a new
consensus rule, which prohibits non-DER signatures. Such transactions have been
non-standard since Bitcoin v0.8.0 (released in February 2013), but were
technically still permitted inside blocks.
This change breaks the dependency on OpenSSL's signature parsing, and is
required if implementations would want to remove all of OpenSSL from the
consensus code.
The same miner-voting mechanism as in BIP 34 is used: when 751 out of a
sequence of 1001 blocks have version number 3 or higher, the new consensus
rule becomes active for those blocks. When 951 out of a sequence of 1001
blocks have version number 3 or higher, it becomes mandatory for all blocks.
Backward compatibility with current mining software is NOT provided, thus miners
should read the first paragraph of "Mining and relay policy enhancements" above.
0.10.0 Change log

Detailed release notes follow. This overview includes changes that affect external
behavior, not code moves, refactors or string updates.
RPC:
  • f923c07 Support IPv6 lookup in bitcoin-cli even when IPv6 only bound on localhost
  • b641c9c Fix addnode "onetry": Connect with OpenNetworkConnection
  • 171ca77 estimatefee / estimatepriority RPC methods
  • b750cf1 Remove cli functionality from bitcoind
  • f6984e8 Add "chain" to getmininginfo, improve help in getblockchaininfo
  • 99ddc6c Add nLocalServices info to RPC getinfo
  • cf0c47b Remove getwork() RPC call
  • 2a72d45 prioritisetransaction
  • e44fea5 Add an option -datacarrier to allow users to disable relaying/mining data carrier transactions
  • 2ec5a3d Prevent easy RPC memory exhaustion attack
  • d4640d7 Added argument to getbalance to include watchonly addresses and fixed errors in balance calculation
  • 83f3543 Added argument to listaccounts to include watchonly addresses
  • 952877e Showing 'involvesWatchonly' property for transactions returned by 'listtransactions' and 'listsinceblock'. It is only appended when the transaction involves a watchonly address
  • d7d5d23 Added argument to listtransactions and listsinceblock to include watchonly addresses
  • f87ba3d added includeWatchonly argument to 'gettransaction' because it affects balance calculation
  • 0fa2f88 added includedWatchonly argument to listreceivedbyaddress/...account
  • 6c37f7f getrawchangeaddress: fail when keypool exhausted and wallet locked
  • ff6a7af getblocktemplate: longpolling support
  • c4a321f Add peerid to getpeerinfo to allow correlation with the logs
  • 1b4568c Add vout to ListTransactions output
  • b33bd7a Implement "getchaintips" RPC command to monitor blockchain forks
  • 733177e Remove size limit in RPC client, keep it in server
  • 6b5b7cb Categorize rpc help overview
  • 6f2c26a Closely track mempool byte total. Add "getmempoolinfo" RPC
  • aa82795 Add detailed network info to getnetworkinfo RPC
  • 01094bd Don't reveal whether password is <20 or >20 characters in RPC
  • 57153d4 rpc: Compute number of confirmations of a block from block height
  • ff36cbe getnetworkinfo: export local node's client sub-version string
  • d14d7de SanitizeString: allow '(' and ')'
  • 31d6390 Fixed setaccount accepting foreign address
  • b5ec5fe update getnetworkinfo help with subversion
  • ad6e601 RPC additions after headers-first
  • 33dfbf5 rpc: Fix leveldb iterator leak, and flush before gettxoutsetinfo
  • 2aa6329 Enable customising node policy for datacarrier data size with a -datacarriersize option
  • f877aaa submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock
  • e69a587 submitblock: Support for returning specific rejection reasons
  • af82884 Add "warmup mode" for RPC server
  • e2655e0 Add unauthenticated HTTP REST interface to public blockchain data
  • 683dc40 Disable SSLv3 (in favor of TLS) for the RPC client and server
  • 44b4c0d signrawtransaction: validate private key
  • 9765a50 Implement BIP 23 Block Proposal
  • f9de17e Add warning comment to getinfo
Command-line options:
  • ee21912 Use netmasks instead of wildcards for IP address matching
  • deb3572 Add -rpcbind option to allow binding RPC port on a specific interface
  • 96b733e Add -version option to get just the version
  • 1569353 Add -stopafterblockimport option
  • 77cbd46 Let -zapwallettxes recover transaction meta data
  • 1c750db remove -tor compatibility code (only allow -onion)
  • 4aaa017 rework help messages for fee-related options
  • 4278b1d Clarify error message when invalid -rpcallowip
  • 6b407e4 -datadir is now allowed in config files
  • bdd5b58 Add option -sysperms to disable 077 umask (create new files with system default umask)
  • cbe39a3 Add "bitcoin-tx" command line utility and supporting modules
  • dbca89b Trigger -alertnotify if network is upgrading without you
  • ad96e7c Make -reindex cope with out-of-order blocks
  • 16d5194 Skip reindexed blocks individually
  • ec01243 --tracerpc option for regression tests
  • f654f00 Change -genproclimit default to 1
  • 3c77714 Make -proxy set all network types, avoiding a connect leak
  • 57be955 Remove -printblock, -printblocktree, and -printblockindex
  • ad3d208 remove -maxorphanblocks config parameter since it is no longer functional
Block and transaction handling:
  • 7a0e84d ProcessGetData(): abort if a block file is missing from disk
  • 8c93bf4 LoadBlockIndexDB(): Require block db reindex if any blk*.dat files are missing
  • 77339e5 Get rid of the static chainMostWork (optimization)
  • 4e0eed8 Allow ActivateBestChain to release its lock on cs_main
  • 18e7216 Push cs_mains down in ProcessBlock
  • fa126ef Avoid undefined behavior using CFlatData in CScript serialization
  • 7f3b4e9 Relax IsStandard rules for pay-to-script-hash transactions
  • c9a0918 Add a skiplist to the CBlockIndex structure
  • bc42503 Use unordered_map for CCoinsViewCache with salted hash (optimization)
  • d4d3fbd Do not flush the cache after every block outside of IBD (optimization)
  • ad08d0b Bugfix: make CCoinsViewMemPool support pruned entries in underlying cache
  • 5734d4d Only remove actualy failed blocks from setBlockIndexValid
  • d70bc52 Rework block processing benchmark code
  • 714a3e6 Only keep setBlockIndexValid entries that are possible improvements
  • ea100c7 Reduce maximum coinscache size during verification (reduce memory usage)
  • 4fad8e6 Reject transactions with excessive numbers of sigops
  • b0875eb Allow BatchWrite to destroy its input, reducing copying (optimization)
  • 92bb6f2 Bypass reloading blocks from disk (optimization)
  • 2e28031 Perform CVerifyDB on pcoinsdbview instead of pcoinsTip (reduce memory usage)
  • ab15b2e Avoid copying undo data (optimization)
  • 341735e Headers-first synchronization
  • afc32c5 Fix rebuild-chainstate feature and improve its performance
  • e11b2ce Fix large reorgs
  • ed6d1a2 Keep information about all block files in memory
  • a48f2d6 Abstract context-dependent block checking from acceptance
  • 7e615f5 Fixed mempool sync after sending a transaction
  • 51ce901 Improve chainstate/blockindex disk writing policy
  • a206950 Introduce separate flushing modes
  • 9ec75c5 Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true
  • 868d041 Remove coinbase-dependant transactions during reorg
  • 723d12c Remove txn which are invalidated by coinbase maturity during reorg
  • 0cb8763 Check against MANDATORY flags prior to accepting to mempool
  • 8446262 Reject headers that build on an invalid parent
  • 008138c Bugfix: only track UTXO modification after lookup
P2P protocol and network code:
  • f80cffa Do not trigger a DoS ban if SCRIPT_VERIFY_NULLDUMMY fails
  • c30329a Add testnet DNS seed of Alex Kotenko
  • 45a4baf Add testnet DNS seed of Andreas Schildbach
  • f1920e8 Ping automatically every 2 minutes (unconditionally)
  • 806fd19 Allocate receive buffers in on the fly
  • 6ecf3ed Display unknown commands received
  • aa81564 Track peers' available blocks
  • caf6150 Use async name resolving to improve net thread responsiveness
  • 9f4da19 Use pong receive time rather than processing time
  • 0127a9b remove SOCKS4 support from core and GUI, use SOCKS5
  • 40f5cb8 Send rejects and apply DoS scoring for errors in direct block validation
  • dc942e6 Introduce whitelisted peers
  • c994d2e prevent SOCKET leak in BindListenPort()
  • a60120e Add built-in seeds for .onion
  • 60dc8e4 Allow -onlynet=onion to be used
  • 3a56de7 addrman: Do not propagate obviously poor addresses onto the network
  • 6050ab6 netbase: Make SOCKS5 negotiation interruptible
  • 604ee2a Remove tx from AlreadyAskedFor list once we receive it, not when we process it
  • efad808 Avoid reject message feedback loops
  • 71697f9 Separate protocol versioning from clientversion
  • 20a5f61 Don't relay alerts to peers before version negotiation
  • b4ee0bd Introduce preferred download peers
  • 845c86d Do not use third party services for IP detection
  • 12a49ca Limit the number of new addressses to accumulate
  • 35e408f Regard connection failures as attempt for addrman
  • a3a7317 Introduce 10 minute block download timeout
  • 3022e7d Require sufficent priority for relay of free transactions
  • 58fda4d Update seed IPs, based on bitcoin.sipa.be crawler data
  • 18021d0 Remove bitnodes.io from dnsseeds.
Validation:
  • 6fd7ef2 Also switch the (unused) verification code to low-s instead of even-s
  • 584a358 Do merkle root and txid duplicates check simultaneously
  • 217a5c9 When transaction outputs exceed inputs, show the offending amounts so as to aid debugging
  • f74fc9b Print input index when signature validation fails, to aid debugging
  • 6fd59ee script.h: set_vch() should shift a >32 bit value
  • d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (test only)
  • 698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (test only)
  • ab9edbd script: create sane error return codes for script validation and remove logging
  • 219a147 script: check ScriptError values in script tests
  • 0391423 Discourage NOPs reserved for soft-fork upgrades
  • 98b135f Make STRICTENC invalid pubkeys fail the script rather than the opcode
  • 307f7d4 Report script evaluation failures in log and reject messages
  • ace39db consensus: guard against openssl's new strict DER checks
  • 12b7c44 Improve robustness of DER recoding code
  • 76ce5c8 fail immediately on an empty signature
Build system:
  • f25e3ad Fix build in OS X 10.9
  • 65e8ba4 build: Switch to non-recursive make
  • 460b32d build: fix broken boost chrono check on some platforms
  • 9ce0774 build: Fix windows configure when using --with-qt-libdir
  • ea96475 build: Add mention of --disable-wallet to bdb48 error messages
  • 1dec09b depends: add shared dependency builder
  • c101c76 build: Add --with-utils (bitcoin-cli and bitcoin-tx, default=yes). Help string consistency tweaks. Target sanity check fix
  • e432a5f build: add option for reducing exports (v2)
  • 6134b43 Fixing condition 'sabotaging' MSVC build
  • af0bd5e osx: fix signing to make Gatekeeper happy (again)
  • a7d1f03 build: fix dynamic boost check when --with-boost= is used
  • d5fd094 build: fix qt test build when libprotobuf is in a non-standard path
  • 2cf5f16 Add libbitcoinconsensus library
  • 914868a build: add a deterministic dmg signer
  • 2d375fe depends: bump openssl to 1.0.1k
  • b7a4ecc Build: Only check for boost when building code that requires it
Wallet:
  • b33d1f5 Use fee/priority estimates in wallet CreateTransaction
  • 4b7b1bb Sanity checks for estimates
  • c898846 Add support for watch-only addresses
  • d5087d1 Use script matching rather than destination matching for watch-only
  • d88af56 Fee fixes
  • a35b55b Dont run full check every time we decrypt wallet
  • 3a7c348 Fix make_change to not create half-satoshis
  • f606bb9 fix a possible memory leak in CWalletDB::Recover
  • 870da77 fix possible memory leaks in CWallet::EncryptWallet
  • ccca27a Watch-only fixes
  • 9b1627d [Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
  • a53fd41 Deterministic signing
  • 15ad0b5 Apply AreSane() checks to the fees from the network
  • 11855c1 Enforce minRelayTxFee on wallet created tx and add a maxtxfee option
GUI:
  • c21c74b osx: Fix missing dock menu with qt5
  • b90711c Fix Transaction details shows wrong To:
  • 516053c Make links in 'About Bitcoin Core' clickable
  • bdc83e8 Ensure payment request network matches client network
  • 65f78a1 Add GUI view of peer information
  • 06a91d9 VerifyDB progress reporting
  • fe6bff2 Add BerkeleyDB version info to RPCConsole
  • b917555 PeerTableModel: Fix potential deadlock. #4296
  • dff0e3b Improve rpc console history behavior
  • 95a9383 Remove CENT-fee-rule from coin control completely
  • 56b07d2 Allow setting listen via GUI
  • d95ba75 Log messages with type>QtDebugMsg as non-debug
  • 8969828 New status bar Unit Display Control and related changes
  • 674c070 seed OpenSSL PNRG with Windows event data
  • 509f926 Payment request parsing on startup now only changes network if a valid network name is specified
  • acd432b Prevent balloon-spam after rescan
  • 7007402 Implement SI-style (thin space) thoudands separator
  • 91cce17 Use fixed-point arithmetic in amount spinbox
  • bdba2dd Remove an obscure option no-one cares about
  • bd0aa10 Replace the temporary file hack currently used to change Bitcoin-Qt's dock icon (OS X) with a buffer-based solution
  • 94e1b9e Re-work overviewpage UI
  • 8bfdc9a Better looking trayicon
  • b197bf3 disable tray interactions when client model set to 0
  • 1c5f0af Add column Watch-only to transactions list
  • 21f139b Fix tablet crash. closes #4854
  • e84843c Broken addresses on command line no longer trigger testnet
  • a49f11d Change splash screen to normal window
  • 1f9be98 Disable App Nap on OSX 10.9+
  • 27c3e91 Add proxy to options overridden if necessary
  • 4bd1185 Allow "emergency" shutdown during startup
  • d52f072 Don't show wallet options in the preferences menu when running with -disablewallet
  • 6093aa1 Qt: QProgressBar CPU-Issue workaround
  • 0ed9675 [Wallet] Add global boolean whether to send free transactions (default=true)
  • ed3e5e4 [Wallet] Add global boolean whether to pay at least the custom fee (default=true)
  • e7876b2 [Wallet] Prevent user from paying a non-sense fee
  • c1c9d5b Add Smartfee to GUI
  • e0a25c5 Make askpassphrase dialog behave more sanely
  • 94b362d On close of splashscreen interrupt verifyDB
  • b790d13 English translation update
  • 8543b0d Correct tooltip on address book page
Tests:
  • b41e594 Fix script test handling of empty scripts
  • d3a33fc Test CHECKMULTISIG with m == 0 and n == 0
  • 29c1749 Let tx (in)valid tests use any SCRIPT_VERIFY flag
  • 6380180 Add rejection of non-null CHECKMULTISIG dummy values
  • 21bf3d2 Add tests for BoostAsioToCNetAddr
  • b5ad5e7 Add Python test for -rpcbind and -rpcallowip
  • 9ec0306 Add CODESEPARATOFindAndDelete() tests
  • 75ebced Added many rpc wallet tests
  • 0193fb8 Allow multiple regression tests to run at once
  • 92a6220 Hook up sanity checks
  • 3820e01 Extend and move all crypto tests to crypto_tests.cpp
  • 3f9a019 added list/get received by address/ account tests
  • a90689f Remove timing-based signature cache unit test
  • 236982c Add skiplist unit tests
  • f4b00be Add CChain::GetLocator() unit test
  • b45a6e8 Add test for getblocktemplate longpolling
  • cdf305e Set -discover=0 in regtest framework
  • ed02282 additional test for OP_SIZE in script_valid.json
  • 0072d98 script tests: BOOLAND, BOOLOR decode to integer
  • 833ff16 script tests: values that overflow to 0 are true
  • 4cac5db script tests: value with trailing 0x00 is true
  • 89101c6 script test: test case for 5-byte bools
  • d2d9dc0 script tests: add tests for CHECKMULTISIG limits
  • d789386 Add "it works" test for bitcoin-tx
  • df4d61e Add bitcoin-tx tests
  • aa41ac2 Test IsPushOnly() with invalid push
  • 6022b5d Make script_{valid,invalid}.json validation flags configurable
  • 8138cbe Add automatic script test generation, and actual checksig tests
  • ed27e53 Add coins_tests with a large randomized CCoinViewCache test
  • 9df9cf5 Make SCRIPT_VERIFY_STRICTENC compatible with BIP62
  • dcb9846 Extend getchaintips RPC test
  • 554147a Ensure MINIMALDATA invalid tests can only fail one way
  • dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
  • 2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
  • 16d78bd Add valid invert of invalid every numeric opcode tests
  • f635269 tests: enable alertnotify test for Windows
  • 7a41614 tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment
  • 5122ea7 tests: fix forknotify.py on windows
  • fa7f8cd tests: remove old pull-tester scripts
  • 7667850 tests: replace the old (unused since Travis) tests with new rpc test scripts
  • f4e0aef Do signature-s negation inside the tests
  • 1837987 Optimize -regtest setgenerate block generation
  • 2db4c8a Fix node ranges in the test framework
  • a8b2ce5 regression test only setmocktime RPC call
  • daf03e7 RPC tests: create initial chain with specific timestamps
  • 8656dbb Port/fix txnmall.sh regression test
  • ca81587 Test the exact order of CHECKMULTISIG sig/pubkey evaluation
  • 7357893 Prioritize and display -testsafemode status in UI
  • f321d6b Add key generation/verification to ECC sanity check
  • 132ea9b miner_tests: Disable checkpoints so they don't fail the subsidy-change test
  • bc6cb41 QA RPC tests: Add tests block block proposals
  • f67a9ce Use deterministically generated script tests
  • 11d7a7d [RPC] add rpc-test for http keep-alive (persistent connections)
  • 34318d7 RPC-test based on invalidateblock for mempool coinbase spends
  • 76ec867 Use actually valid transactions for script tests
  • c8589bf Add actual signature tests
  • e2677d7 Fix smartfees test for change to relay policy
  • 263b65e tests: run sanity checks in tests too
Miscellaneous:
  • 122549f Fix incorrect checkpoint data for testnet3
  • 5bd02cf Log used config file to debug.log on startup
  • 68ba85f Updated Debian example bitcoin.conf with config from wiki + removed some cruft and updated comments
  • e5ee8f0 Remove -beta suffix
  • 38405ac Add comment regarding experimental-use service bits
  • be873f6 Issue warning if collecting RandSeed data failed
  • 8ae973c Allocate more space if necessary in RandSeedAddPerfMon
  • 675bcd5 Correct comment for 15-of-15 p2sh script size
  • fda3fed libsecp256k1 integration
  • 2e36866 Show nodeid instead of addresses in log (for anonymity) unless otherwise requested
  • cd01a5e Enable paranoid corruption checks in LevelDB >= 1.16
  • 9365937 Add comment about never updating nTimeOffset past 199 samples
  • 403c1bf contrib: remove getwork-based pyminer (as getwork API call has been removed)
  • 0c3e101 contrib: Added systemd .service file in order to help distributions integrate bitcoind
  • 0a0878d doc: Add new DNSseed policy
  • 2887bff Update coding style and add .clang-format
  • 5cbda4f Changed LevelDB cursors to use scoped pointers to ensure destruction when going out of scope
  • b4a72a7 contrib/linearize: split output files based on new-timestamp-year or max-file-size
  • e982b57 Use explicit fflush() instead of setvbuf()
  • 234bfbf contrib: Add init scripts and docs for Upstart and OpenRC
  • 01c2807 Add warning about the merkle-tree algorithm duplicate txid flaw
  • d6712db Also create pid file in non-daemon mode
  • 772ab0e contrib: use batched JSON-RPC in linarize-hashes (optimization)
  • 7ab4358 Update bash-completion for v0.10
  • 6e6a36c contrib: show pull # in prompt for github-merge script
  • 5b9f842 Upgrade leveldb to 1.18, make chainstate databases compatible between ARM and x86 (issue #2293)
  • 4e7c219 Catch UTXO set read errors and shutdown
  • 867c600 Catch LevelDB errors during flush
  • 06ca065 Fix CScriptID(const CScript& in) in empty script case
Credits

Thanks to everyone who contributed to this release:
  • 21E14
  • Adam Weiss
  • Aitor Pazos
  • Alexander Jeng
  • Alex Morcos
  • Alon Muroch
  • Andreas Schildbach
  • Andrew Poelstra
  • Andy Alness
  • Ashley Holman
  • Benedict Chan
  • Ben Holden-Crowther
  • Bryan Bishop
  • BtcDrak
  • Christian von Roques
  • Clinton Christian
  • Cory Fields
  • Cozz Lovan
  • daniel
  • Daniel Kraft
  • David Hill
  • Derek701
  • dexX7
  • dllud
  • Dominyk Tiller
  • Doug
  • elichai
  • elkingtowa
  • ENikS
  • Eric Shaw
  • Federico Bond
  • Francis GASCHET
  • Gavin Andresen
  • Giuseppe Mazzotta
  • Glenn Willen
  • Gregory Maxwell
  • gubatron
  • HarryWu
  • himynameismartin
  • Huang Le
  • Ian Carroll
  • imharrywu
  • Jameson Lopp
  • Janusz Lenar
  • JaSK
  • Jeff Garzik
  • JL2035
  • Johnathan Corgan
  • Jonas Schnelli
  • jtimon
  • Julian Haight
  • Kamil Domanski
  • kazcw
  • kevin
  • kiwigb
  • Kosta Zertsekel
  • LongShao007
  • Luke Dashjr
  • Mark Friedenbach
  • Mathy Vanvoorden
  • Matt Corallo
  • Matthew Bogosian
  • Micha
  • Michael Ford
  • Mike Hearn
  • mrbandrews
  • mruddy
  • ntrgn
  • Otto Allmendinger
  • paveljanik
  • Pavel Vasin
  • Peter Todd
  • phantomcircuit
  • Philip Kaufmann
  • Pieter Wuille
  • pryds
  • randy-waterhouse
  • R E Broadley
  • Rose Toomey
  • Ross Nicoll
  • Roy Badami
  • Ruben Dario Ponticelli
  • Rune K. Svendsen
  • Ryan X. Charles
  • Saivann
  • sandakersmann
  • SergioDemianLerner
  • shshshsh
  • sinetek
  • Stuart Cardall
  • Suhas Daftuar
  • Tawanda Kembo
  • Teran McKinney
  • tm314159
  • Tom Harding
  • Trevin Hofmann
  • Whit J
  • Wladimir J. van der Laan
  • Yoichi Hirai
  • Zak Wilcox
As well as everyone that helped translating on [Transifex](https://www.transifex.com/projects/p/bitcoin/).
Also lots of thanks to the bitcoin.org website team David A. Harding and Saivann Carignan.
Wladimir
original: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-February/007480.html
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

How to find your bitcoin address (Coinbase) - YouTube How to Trace a Bitcoin Transaction using a Bitcoin ... Coinbase - How to Find your Bitcoin wallet address - YouTube How to Find a Bitcoin Transaction ID in Your Coinbase ... How to create coinbase wallet  How to get bitcoin address

bitcoin news: Coinbase - How to Find your Bitcoin wallet address You can find your Bitcoin Cash (BCH) or Bitcoin Core (BTC) address for receiving payments into your Bitcoin.com wallet by tapping "Receive" on the bottom tool bar of your wallet. Your address will be the long string of numbers and letters directly below the QR code for that address. If the person/company is sending you BCH then select one of your Bitcoin Cash (BCH) wallets. If they are to send ... Bitcoin Address Lookup Search and Alerts. View and research bitcoin ownership, transactions and balance checker by name, bitcoin address, url or keyword. Login; Signup; Report Scam; Tag An Address; Blog; BTC = $13073.75. Bitcoin Address Lookup. Bitcoin Scam Alerts. Check a bitcoin address using the lookup form above to see if there have been scam alerts connected to it. Or report a scam if you ... Any address you create here will remain associated with your Coinbase account forever. You can generate as many addresses as you like. Select the Details button next to any address to display the corresponding QR code. These work similar to barcodes at the grocery store, and can be scanned with a smartphone to reveal your address. Once selected, tap Share address and choose your send method; You'll see that you may have multiple addresses associated with your account - you can use any of these addresses for receiving bitcoin or ether, as long as it is the correct address type for the digital currency you wish to use.

[index] [42781] [18382] [18251] [17461] [5833] [49407] [49428] [3230] [7736] [19062]

How to find your bitcoin address (Coinbase) - YouTube

If you want to someone to send you money to your Bitcoin account, Give them this address. you may donate to our network via Bitcoin as well :) Bitcoin addres... Go to https://www.coinbase.com/accounts (if you're login already) Go to Accounts tab, then you will see "Get bitcoin address" Click that. You're welcome! I t... You're welcome! I t... This video is unavailable. Watch Queue Queue. Watch Queue Queue Here, you can create or sing up an Coinbase account to get unlimated BTC wallet Address. So sing up with this link below https://www.coinbase.com/join/596612... Not on Coinbase Yet? Join Here: https://www.coinbase.com/join/5a0579e45698da00e3e10b86 A quick tutorial that shows you how to find a bitcoin transaction ID (...

#