Contributions by @saivann to devel docs
Thanks also (in alphabetical order) to @cbeams, @mikehearn, and @tgeller, among others. The last pre-squash commit was: c2b8d562aa107c7b68c60946cea14cdccc5159ad
95
_includes/ref_block_chain.md
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
## Block Chain
|
||||||
|
|
||||||
|
The following subsections briefly document core block details.
|
||||||
|
|
||||||
|
### Block Contents
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
This section describes [version 2 blocks][v2 block]{:#term-v2-block}{:.term}, which are any blocks with a
|
||||||
|
block height greater than 227,835. (Version 1 and version 2 blocks were
|
||||||
|
intermingled for some time before that point.) Future block versions may
|
||||||
|
break compatibility with the information in this section. You can determine
|
||||||
|
the version of any block by checking its `version` field using
|
||||||
|
bitcoind RPC calls.
|
||||||
|
|
||||||
|
As of version 2 blocks, each block consists of four root elements:
|
||||||
|
|
||||||
|
1. A [magic number][block header magic]{:#term-block-header-magic}{:.term} (0xd9b4bef9).
|
||||||
|
|
||||||
|
2. A 4-byte unsigned integer indicating how many bytes follow until the
|
||||||
|
end of the block. Although this field would suggest maximum block
|
||||||
|
sizes of 4 GiB, max block size is currently capped at 1 MiB and the
|
||||||
|
default max block size (used by most miners) is 350 KiB (although
|
||||||
|
this will likely increase over time).
|
||||||
|
|
||||||
|
3. An 80-byte block header described in the section below.
|
||||||
|
|
||||||
|
4. One or more transactions.
|
||||||
|
|
||||||
|
Every block must include a [coinbase transaction][]{:#term-coinbase-tx}{:.term} which should collect and
|
||||||
|
spend any transaction fees paid by transactions included in this block.
|
||||||
|
All blocks with a block height less than 6,930,000 are entitled to
|
||||||
|
receive a [block reward][]{:#term-block-reward}{:.term} of newly created bitcoin value, which also
|
||||||
|
should be spent in the coinbase transaction. (The block reward started
|
||||||
|
at 50 bitcoins and is being halved approximately every four years. As of
|
||||||
|
April 2014, it's 25 bitcoins.) A coinbase transaction is invalid if it
|
||||||
|
tries to spend more value than is available from the transaction
|
||||||
|
fees and block reward.
|
||||||
|
|
||||||
|
The coinbase transaction has the same basic format as any other
|
||||||
|
transaction, but it references a single non-existent UTXO and a special
|
||||||
|
[coinbase field][]{:#term-coinbase-field}{:.term} replaces the field that would normally hold a scriptSig and
|
||||||
|
signature. In version 2 blocks, the coinbase parameter must begin with
|
||||||
|
the current block's block height and may contain additional arbitrary
|
||||||
|
data or a script up to a maximum total of 100 bytes.
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
### Block Header
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
The 80-byte block header contains the following six fields:
|
||||||
|
|
||||||
|
| Field | Bytes | Format |
|
||||||
|
|-------------------|--------|--------------------------------|
|
||||||
|
| 1. Version | 4 | Unsigned Int |
|
||||||
|
| 2. hashPrevBlock | 32 | Unsigned Int (SHA256 Hash) |
|
||||||
|
| 3. hashMerkleRoot | 32 | Unsigned Int (SHA256 Hash) |
|
||||||
|
| 4. Time | 4 | Unsigned Int (Epoch Time) |
|
||||||
|
| 5. Bits | 4 | Internal Bitcoin Target Format |
|
||||||
|
| 6. Nonce | 4 | (Arbitrary Data) |
|
||||||
|
|
||||||
|
1. The *[block version][]{:#term-block-version}{:.term}* number indicates which set of block validation rules
|
||||||
|
to follow so Bitcoin Core developers can add features or
|
||||||
|
fix bugs. As of block height 227,836, all blocks use version number
|
||||||
|
2.
|
||||||
|
|
||||||
|
2. The *hash of the previous block header* puts this block on the
|
||||||
|
block chain and ensures no previous block can be changed without also
|
||||||
|
changing this block's header.
|
||||||
|
|
||||||
|
3. The *Merkle root* is a hash derived from hashes of all the
|
||||||
|
transactions included in this block. It ensures no transactions can
|
||||||
|
be modified in this block without changing the block header hash.
|
||||||
|
|
||||||
|
4. The *[block time][]{:#term-block-time}{:.term}* is the approximate time when this block was created in
|
||||||
|
Unix Epoch time format (number of seconds elapsed since
|
||||||
|
1970-01-01T00:00 UTC). The time value must be greater than the
|
||||||
|
median time of the previous 11 blocks. No peer will accept a block with a
|
||||||
|
time currently more than two hours in the future according to the
|
||||||
|
peer's clock.
|
||||||
|
|
||||||
|
5. *Bits* translates into the target threshold value---the maximum allowed
|
||||||
|
value for this block's hash. The bits value must match the network
|
||||||
|
difficulty at the time the block was mined.
|
||||||
|
|
||||||
|
6. The *[header nonce][]{:#term-header-nonce}{:.term}* is an arbitrary input that miners can change to test different
|
||||||
|
hash values for the header until they find a hash value less than or
|
||||||
|
equal to the target threshold. If all values within the nonce's four
|
||||||
|
bytes are tested, the time can be updated or the
|
||||||
|
coinbase transaction can be changed and the Merkle
|
||||||
|
root updated.
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
232
_includes/ref_transactions.md
Normal file
|
@ -0,0 +1,232 @@
|
||||||
|
## Transactions
|
||||||
|
|
||||||
|
The following subsections briefly document core transaction details.
|
||||||
|
|
||||||
|
#### OP Codes
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
The op codes used in standard transactions are,
|
||||||
|
|
||||||
|
* Various data pushing op codes from 0x00 to 0x4e (1--78). These aren't
|
||||||
|
typically shown in examples, but they must be used to push
|
||||||
|
signatures and public keys onto the stack. See the link below this list
|
||||||
|
for a description.
|
||||||
|
|
||||||
|
* `OP_1NEGATE` (0x4f), `OP_TRUE`/`OP_1` (0x51), and `OP_2` through
|
||||||
|
`OP_16` (0x52--0x60), which (respectively) push the values -1, 1, and
|
||||||
|
2--16 to the stack.
|
||||||
|
|
||||||
|
* [`OP_CHECKSIG`][op_checksig]{:#term-op-checksig}{:.term} consumes a signature and a full public key, and returns
|
||||||
|
true if the the transaction data specified by the SIGHASH flag was
|
||||||
|
converted into the signature using the same ECDSA private key that
|
||||||
|
generated the public key. Otherwise, it returns false.
|
||||||
|
|
||||||
|
* [`OP_DUP`][op_dup]{:#term-op-dup}{:.term} returns a copy of the item on the stack below it.
|
||||||
|
|
||||||
|
* [`OP_HASH160`][op_hash160]{:#term-op-hash160}{:.term} consumes the item on the stack below it and returns with
|
||||||
|
a RIPEMD-160(SHA256()) hash of that item.
|
||||||
|
|
||||||
|
* [`OP_EQUAL`][op_equal]{:#term-op-equal}{:.term} consumes the two items on the stack below it and returns
|
||||||
|
true if they are the same. Otherwise, it returns false.
|
||||||
|
|
||||||
|
* [`OP_VERIFY`][op_verify]{:#term-op-verify}{:.term} consumes one value and returns nothing, but it will
|
||||||
|
terminate the script in failure if the value consumed is zero (false).
|
||||||
|
|
||||||
|
* [`OP_EQUALVERIFY`][op_equalverify]{:#term-op-equalverify}{:.term} runs `OP_EQUAL` and then `OP_VERIFY` in sequence.
|
||||||
|
|
||||||
|
* [`OP_CHECKMULTISIG`][op_checkmultisig]{:#term-op-checkmultisig}{:.term} consumes the value (n) at the top of the stack,
|
||||||
|
consumes that many of the next stack levels (public keys), consumes
|
||||||
|
the value (m) now at the top of the stack, and consumes that many of
|
||||||
|
the next values (signatures) plus one extra value. Then it compares
|
||||||
|
each of public keys against each of the signatures looking for ECDSA
|
||||||
|
matches; if n of the public keys match signatures, it returns true.
|
||||||
|
Otherwise, it returns false.
|
||||||
|
|
||||||
|
The "one extra value" it consumes is the result of an off-by-one
|
||||||
|
error in the Bitcoin Core implementation. This value is not used, so
|
||||||
|
scriptSigs prefix the signatures with a single OP_0 (0x00).
|
||||||
|
|
||||||
|
* [`OP_RETURN`][op_return]{:#term-op-return}{:.term} terminates the script in failure. However, this will not
|
||||||
|
invalidate a null data transaction which contains no more than 40
|
||||||
|
bytes following `OP_RETURN` no more than once per transaction.
|
||||||
|
|
||||||
|
A complete list of OP codes can be found on the Bitcoin Wiki [Script
|
||||||
|
Page][wiki script], with an authoritative list in the `opcodetype` enum
|
||||||
|
of the Bitcoin Core [script header file][core script.h]
|
||||||
|
|
||||||
|
Note: non-standard transactions can add non-data-pushing op codes to
|
||||||
|
their scriptSig, but scriptSig is run separately from the script (with a
|
||||||
|
shared stack), so scriptSig can't use arguments such as `OP_RETURN` to
|
||||||
|
prevent the script from working as expected.
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
#### Address Conversion
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
The hashes used in P2PH and P2SH outputs are commonly encoded as Bitcoin
|
||||||
|
addresses. This is the procedure to encode those hashes and decode the
|
||||||
|
addresses.
|
||||||
|
|
||||||
|
First, get your hash. For P2PH, you RIPEMD-160(SHA256()) hash a ECDSA
|
||||||
|
public key derived from your 256-bit ECDSA private key (random data).
|
||||||
|
For P2SH, you RIPEMD-160(SHA256()) hash a redeemScript serialized in the
|
||||||
|
format used in raw transactions (described in a [following
|
||||||
|
sub-section][raw transaction format]). Taking the resulting hash:
|
||||||
|
|
||||||
|
1. Add an address version byte in front of the hash. The version
|
||||||
|
bytes commonly used by Bitcoin are:
|
||||||
|
|
||||||
|
* 0x00 for P2PH addresses on the main Bitcoin network (mainnet)
|
||||||
|
|
||||||
|
* 0x6f for P2PH addresses on the Bitcoin testing network (testnet)
|
||||||
|
|
||||||
|
* 0x05 for P2SH addresses on mainnet
|
||||||
|
|
||||||
|
* 0xc4 for P2SH addresses on testnet
|
||||||
|
|
||||||
|
2. Create a copy of the version and hash; then hash that twice with SHA256: `SHA256(SHA256(version . hash))`
|
||||||
|
|
||||||
|
3. Extract the four most significant bytes from the double-hashed copy.
|
||||||
|
These are used as a checksum to ensure the base hash gets transmitted
|
||||||
|
correctly.
|
||||||
|
|
||||||
|
4. Append the checksum to the version and hash, and encode it as a base58
|
||||||
|
string: <!--[-->`BASE58(version . hash . checksum)`<!--]-->
|
||||||
|
|
||||||
|
Bitcoin's base58 encoding, called [Base58Check][]{:#term-base58check}{:.term} may not match other implementations. Tier
|
||||||
|
Nolan provided the following example encoding algorithm to the Bitcoin
|
||||||
|
Wiki [Base58Check
|
||||||
|
encoding](https://en.bitcoin.it/wiki/Base58Check_encoding) page:
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
{% highlight c %}
|
||||||
|
code_string = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
|
||||||
|
x = convert_bytes_to_big_integer(hash_result)
|
||||||
|
|
||||||
|
output_string = ""
|
||||||
|
|
||||||
|
while(x > 0)
|
||||||
|
{
|
||||||
|
(x, remainder) = divide(x, 58)
|
||||||
|
output_string.append(code_string[remainder])
|
||||||
|
}
|
||||||
|
|
||||||
|
repeat(number_of_leading_zero_bytes_in_hash)
|
||||||
|
{
|
||||||
|
output_string.append(code_string[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
output_string.reverse();
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
Bitcoin's own code can be traced using the [base58 header
|
||||||
|
file][core base58.h].
|
||||||
|
|
||||||
|
To convert addresses back into hashes, reverse the base58 encoding, extract
|
||||||
|
the checksum, repeat the steps to create the checksum and compare it
|
||||||
|
against the extracted checksum, and then remove the version byte.
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
#### Raw Transaction Format
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
Bitcoin transactions are broadcast between peers and stored in the
|
||||||
|
block chain in a serialized byte format, called [raw format][]{:#term-raw-format}{:.term}. Bitcoin Core
|
||||||
|
and many other tools print and accept raw transactions encoded as hex.
|
||||||
|
|
||||||
|
A sample raw transaction is the first non-coinbase transaction, made in
|
||||||
|
[block 170][block170]. To get the transaction, use the `getrawtransaction` RPC with
|
||||||
|
that transaction's txid (provided below):
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
~~~
|
||||||
|
> getrawtransaction \
|
||||||
|
f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16
|
||||||
|
|
||||||
|
0100000001c997a5e56e104102fa209c6a852dd90660a20b2d9c352423e\
|
||||||
|
dce25857fcd3704000000004847304402204e45e16932b8af514961a1d3\
|
||||||
|
a1a25fdf3f4f7732e9d624c6c61548ab5fb8cd410220181522ec8eca07d\
|
||||||
|
e4860a4acdd12909d831cc56cbbac4622082221a8768d1d0901ffffffff\
|
||||||
|
0200ca9a3b00000000434104ae1a62fe09c5f51b13905f07f06b99a2f71\
|
||||||
|
59b2225f374cd378d71302fa28414e7aab37397f554a7df5f142c21c1b7\
|
||||||
|
303b8a0626f1baded5c72a704f7e6cd84cac00286bee000000004341041\
|
||||||
|
1db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a690\
|
||||||
|
9a5cb2e0eaddfb84ccf9744464f82e160bfa9b8b64f9d4c03f999b8643f\
|
||||||
|
656b412a3ac00000000
|
||||||
|
~~~
|
||||||
|
|
||||||
|
A byte-by-byte analysis by Amir Taaki (Genjix) of this transaction is
|
||||||
|
provided below. (Originally from the Bitcoin Wiki
|
||||||
|
[OP_CHECKSIG page](https://en.bitcoin.it/wiki/OP_CHECKSIG); Genjix's
|
||||||
|
text has been updated to use the terms used in this document.)
|
||||||
|
|
||||||
|
~~~
|
||||||
|
01 00 00 00 version number
|
||||||
|
01 number of inputs (var_uint)
|
||||||
|
|
||||||
|
input 0:
|
||||||
|
c9 97 a5 e5 6e 10 41 02 previous tx hash (txid)
|
||||||
|
fa 20 9c 6a 85 2d d9 06
|
||||||
|
60 a2 0b 2d 9c 35 24 23
|
||||||
|
ed ce 25 85 7f cd 37 04
|
||||||
|
00 00 00 00 previous output index
|
||||||
|
|
||||||
|
48 size of script (var_uint)
|
||||||
|
47 push 71 bytes to stack
|
||||||
|
30 44 02 20 4e 45 e1 69
|
||||||
|
32 b8 af 51 49 61 a1 d3
|
||||||
|
a1 a2 5f df 3f 4f 77 32
|
||||||
|
e9 d6 24 c6 c6 15 48 ab
|
||||||
|
5f b8 cd 41 02 20 18 15
|
||||||
|
22 ec 8e ca 07 de 48 60
|
||||||
|
a4 ac dd 12 90 9d 83 1c
|
||||||
|
c5 6c bb ac 46 22 08 22
|
||||||
|
21 a8 76 8d 1d 09 01
|
||||||
|
ff ff ff ff sequence number
|
||||||
|
|
||||||
|
02 number of outputs (var_uint)
|
||||||
|
|
||||||
|
output 0:
|
||||||
|
00 ca 9a 3b 00 00 00 00 amount = 10.00000000 BTC
|
||||||
|
43 size of script (var_uint)
|
||||||
|
script for output 0:
|
||||||
|
41 push 65 bytes to stack
|
||||||
|
04 ae 1a 62 fe 09 c5 f5
|
||||||
|
1b 13 90 5f 07 f0 6b 99
|
||||||
|
a2 f7 15 9b 22 25 f3 74
|
||||||
|
cd 37 8d 71 30 2f a2 84
|
||||||
|
14 e7 aa b3 73 97 f5 54
|
||||||
|
a7 df 5f 14 2c 21 c1 b7
|
||||||
|
30 3b 8a 06 26 f1 ba de
|
||||||
|
d5 c7 2a 70 4f 7e 6c d8
|
||||||
|
4c
|
||||||
|
ac OP_CHECKSIG
|
||||||
|
|
||||||
|
output 1:
|
||||||
|
00 28 6b ee 00 00 00 00 amount = 40.00000000 BTC
|
||||||
|
43 size of script (var_uint)
|
||||||
|
script for output 1:
|
||||||
|
41 push 65 bytes to stack
|
||||||
|
04 11 db 93 e1 dc db 8a
|
||||||
|
01 6b 49 84 0f 8c 53 bc
|
||||||
|
1e b6 8a 38 2e 97 b1 48
|
||||||
|
2e ca d7 b1 48 a6 90 9a
|
||||||
|
5c b2 e0 ea dd fb 84 cc
|
||||||
|
f9 74 44 64 f8 2e 16 0b
|
||||||
|
fa 9b 8b 64 f9 d4 c0 3f
|
||||||
|
99 9b 86 43 f6 56 b4 12
|
||||||
|
a3
|
||||||
|
ac OP_CHECKSIG
|
||||||
|
|
||||||
|
00 00 00 00 locktime
|
||||||
|
~~~
|
||||||
|
|
283
_includes/references.md
Normal file
|
@ -0,0 +1,283 @@
|
||||||
|
[51 percent attack]: /en/developer-guide#term-51-attack "The ability of someone controlling a majority of hashing power to revise transactions history and prevent new transactions from confirming"
|
||||||
|
[accidental fork]: /en/developer-guide#term-accidental-fork "When two or more blocks have the same block height, forking the block chain. Happens occasionally by accident"
|
||||||
|
[addresses]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PH or P2SH Bitcoin Address"
|
||||||
|
[address]: /en/developer-guide#term-address "A 20-byte hash formatted as a P2PH or P2SH Bitcoin Address"
|
||||||
|
[base58Check]: /en/developer-reference#term-base58check "The method used in Bitcoin for converting 160-bit hashes into Bitcoin addresses"
|
||||||
|
[bitcoin URI]: /en/developer-guide#term-bitcoin-uri "A URI which allows receivers to encode payment details so spenders don't have to manually enter addresses and other details"
|
||||||
|
[bitcoins]: /en/developer-guide#term-bitcoins "A primary accounting unit used in Bitcoin; 100 million satoshis"
|
||||||
|
[block]: /en/developer-guide#term-block "A block of transactions protected by proof of work"
|
||||||
|
[blocks]: /en/developer-guide#term-block "Blocks of transactions protected by proof of work"
|
||||||
|
[block chain]: /en/developer-guide#block-chain "A chain of blocks with each block linking to the block that preceded; the most-difficult-to-recreate chain is The Block Chain"
|
||||||
|
[block header]: /en/developer-reference#block-header "An 80-byte header belonging to a single block which is hashed repeatedly to create proof of work"
|
||||||
|
[block header magic]: /en/developer-reference#term-block-header-magic "A magic number used to separate block data from transaction data on the P2P network"
|
||||||
|
[block height]: /en/developer-guide#term-block-height "The number of chained blocks preceding this block"
|
||||||
|
[block reward]: /en/developer-reference#term-block-reward "New satoshis given to a miner for creating one of the first 6,929,999 blocks"
|
||||||
|
[block time]: /en/developer-reference#term-block-time "The time field in the block header"
|
||||||
|
[block version]: /en/developer-reference#term-block-version "The version field in the block header"
|
||||||
|
[broadcast]: /en/developer-guide#transaction-broadcasting "Sending transactions or blocks to all other peers on the Bitcoin network (compare to privately transmitting to a single peer or partner"
|
||||||
|
[broadcasts]: /en/developer-guide#transaction-broadcasting "Sending transactions or blocks to all other peers on the Bitcoin network (compare to privately transmitting to a single peer or partner"
|
||||||
|
[broadcasting]: /en/developer-guide#transaction-broadcasting "Sending transactions or blocks to all other peers on the Bitcoin network (compare to privately transmitting to a single peer or partner)"
|
||||||
|
[certificate chain]: /en/developer-guide#term-certificate-chain "A chain of certificates connecting a individual's leaf certificate to the certificate authority's root certificate"
|
||||||
|
[chain code]: /en/developer-guide#term-chain-code "In HD wallets, 256 bits of entropy added to the master public and private keys to help them generate secure child keys; the chain code is usually derived from a seed along with the master private key"
|
||||||
|
[change address]: /en/developer-guide#term-change-output "An output used by a spender to send back to himself some of the satoshis from the inputs"
|
||||||
|
[change output]: /en/developer-guide#term-change-output "An output used by a spender to send back to himself some of the satoshis from the inputs"
|
||||||
|
[child extended key]: /en/developer-guide#term-child-extended-key "A child key extended with a chain code so that it can become a parent key and derive its own child keys"
|
||||||
|
[child key]: /en/developer-guide#term-child-key "In HD wallets, a key derived from a parent key"
|
||||||
|
[child public key]: /en/developer-guide#term-child-public-key "In HD wallets, a public key derived from a parent public key or a corresponding child private key"
|
||||||
|
[coinbase field]: /en/developer-reference#term-coinbase-field "A special input-like field for coinbase transactions"
|
||||||
|
[coinbase transaction]: /en/developer-reference#term-coinbase-tx "A special transaction which miners must create when they generate a block"
|
||||||
|
[confirm]: /en/developer-guide#term-confirmation "A transaction included in a block currently on the block chain"
|
||||||
|
[confirmed]: /en/developer-guide#term-confirmation "A transaction included in a block currently on the block chain"
|
||||||
|
[confirmed transactions]: /en/developer-guide#term-confirmation "Transactions included in a block currently on the block chain"
|
||||||
|
[confirmation]: /en/developer-guide#term-confirmation "The number of blocks which would need to be modified to remove or modify a transaction"
|
||||||
|
[confirmations]: /en/developer-guide#term-confirmation "The number of blocks which would need to be modified to remove or modify a transaction"
|
||||||
|
[denomination]: /en/developer-guide#term-denomination "bitcoins (BTC), bitcents (cBTC), millibits (mBTC), microbits (uBTC), or satoshis"
|
||||||
|
[difficulty]: /en/developer-guide#term-difficulty "A number corresponding to the target threshold which indicates how difficult it will be to find the next block"
|
||||||
|
[double spend]: /en/developer-guide#term-double-spend "Attempting to spend the same satoshis which were spent in a previous transaction"
|
||||||
|
[extended key]: /en/developer-guide#term-extended-key "A public or private key extended with the chain code to allow them to derive child keys"
|
||||||
|
[extended private key]: /en/developer-guide#term-extended-private-key "A private key extended with the chain code so that it can derive child private keys"
|
||||||
|
[extended public key]: /en/developer-guide#term-extended-public-key "A public key extended with the chain code so that it can derive child public keys"
|
||||||
|
[escrow contract]: /en/developer-guide#term-escrow-contract "A contract in which the spender and receiver store satoshis in a multisig output until both parties agree to release the satoshis"
|
||||||
|
[fiat]: /en/developer-guide#term-fiat "National currencies such as the dollar or euro"
|
||||||
|
[genesis block]: /en/developer-guide#term-genesis-block "The first block created; also called block 0"
|
||||||
|
[hardened extended private key]: /en/developer-guide#term-hardened-extended-private-key "A private key whose corresponding public key cannot derive child keys"
|
||||||
|
[HD protocol]: /en/developer-guide#term-hd-protocol "The Hierarchical Deterministic (HD) key creation and transfer protocol"
|
||||||
|
[header nonce]: /en/developer-reference#term-header-nonce "Four bytes of arbitrary data in a block header used to let miners create headers with different hashes for proof of work"
|
||||||
|
[high-priority transactions]: /en/developer-guide#term-high-priority-transactions "Transactions which don't pay a transaction fee; only transactions spending long-idle outputs are eligible"
|
||||||
|
[input]: /en/developer-guide#term-input "The input to a transaction linking to the output of a previous transaction which permits spending of satoshis"
|
||||||
|
[inputs]: /en/developer-guide#term-input "The input to a transaction linking to the output of a previous transaction which permits spending of satoshis"
|
||||||
|
[intermediate certificate]: /en/developer-guide#term-intermediate-certificate "A intermediate certificate authority certificate which helps connect a leaf (receiver) certificate to a root certificate authority"
|
||||||
|
[key index]: /en/developer-guide#term-key-index "An index number used in the HD wallet formula to generate child keys from a parent key"
|
||||||
|
[key pair]: /en/developer-guide#term-key-pair "A private key and its derived public key"
|
||||||
|
[label]: /en/developer-guide#term-label "The label parameter of a bitcoin: URI which provides the spender with the receiver's name (unauthenticated)"
|
||||||
|
[leaf certificate]: /en/developer-guide#term-leaf-certificate "The end-node in a certificate chain; in the payment protocol, it is the certificate belonging to the receiver of satoshis"
|
||||||
|
[locktime]: /en/developer-guide#term-locktime "Part of a transaction which indicates the earliest time or earliest block when that transaction can be added to the block chain"
|
||||||
|
[long-term fork]: /en/developer-guide#term-long-term-fork "When a series of blocks have corresponding block heights, indicating a possibly serious problem"
|
||||||
|
[mainnet]: /en/developer-guide#term-mainnet "The Bitcoin main network used to transfer satoshis (compare to testnet, the test network)"
|
||||||
|
[master chain code]: /en/developer-guide#term-master-chain-code "The chain code derived from the root seed"
|
||||||
|
[master private key]: /en/developer-guide#term-master-private-key "A private key derived from the root seed"
|
||||||
|
[merge]: /en/developer-guide#term-merge "Spending, in the same transaction, multiple outputs which can be traced back to different previous spenders, leaking information about how many satoshis you control"
|
||||||
|
[merge avoidance]: /en/developer-guide#term-merge-avoidance "A strategy for selecting which outputs to spend that avoids merging outputs with different histories that could leak private information"
|
||||||
|
[message]: /en/developer-guide#term-message "A parameter of bitcoin: URIs which allows the receiver to optionally specify a message to the spender"
|
||||||
|
[Merkle root]: /en/developer-guide#term-merkle-root "The root node of a Merkle tree descended from all the hashed pairs in the tree"
|
||||||
|
[Merkle tree]: /en/developer-guide#term-merkle-tree "A tree constructed by hashing paired data, then pairing and hashing the results until a single hash remains, the Merkle root"
|
||||||
|
[micropayment channel]: /en/developer-guide#term-micropayment-channel
|
||||||
|
[millibits]: /en/developer-guide#term-millibits "0.001 bitcoins (100,000 satoshis)"
|
||||||
|
[mine]: /en/developer-guide#term-miner "Creating Bitcoin blocks which solve proof-of-work puzzles in exchange for block rewards and transaction fees"
|
||||||
|
[miner]: /en/developer-guide#term-miner "Creators of Bitcoin blocks who solve proof-of-work puzzles in exchange for block rewards and transaction fees"
|
||||||
|
[miners]: /en/developer-guide#term-miner "Creators of Bitcoin blocks who solve proof-of-work puzzles in exchange for block rewards and transaction fees"
|
||||||
|
[minimum fee]: /en/developer-guide#term-minimum-fee "The minimum fee a transaction must pay in must circumstances to be mined or broadcast by peers across the network"
|
||||||
|
[multisig]: /en/developer-guide#term-multisig "An output script using OP_CHECKMULTISIG to check for multiple signatures"
|
||||||
|
[network]: /en/developer-guide#term-network "The Bitcoin P2P network which broadcasts transactions and blocks"
|
||||||
|
[Null data]: /en/developer-guide#term-null-data "A standard transaction type which allows adding 40 bytes of arbitrary data to the block chain up to once per transaction"
|
||||||
|
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Op code which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
|
||||||
|
[op_checksig]: /en/developer-reference#term-op-checksig "Op code which returns true if a signature signs the correct parts of a transaction and matches a provided public key"
|
||||||
|
[op code]: /en/developer-reference#op-codes "Operation codes which run functions within a script"
|
||||||
|
[op_dup]: /en/developer-reference#term-op-dup "Operation which duplicates the entry below it on the stack"
|
||||||
|
[op_equal]: /en/developer-reference#term-op-equal "Operation which returns true if the two entries below it on the stack are equivalent"
|
||||||
|
[op_equalverify]: /en/developer-reference#term-op-equalverify "Operation which terminates the script in failure unless the two entries below it on the stack are equivalent"
|
||||||
|
[op_hash160]: /en/developer-reference#term-op-hash160 "Operation which converts the entry below it on the stack into a RIPEMD(SHA256()) hashed version of itself"
|
||||||
|
[op_return]: /en/developer-reference#term-op-return "Operation which terminates the script in failure"
|
||||||
|
[op_verify]: /en/developer-reference#term-op-verify "Operation which terminates the script if the entry below it on the stack is non-true (zero)"
|
||||||
|
[orphan]: /en/developer-guide#term-orphan "Blocks which were successfully mined but which aren't included on the current valid block chain"
|
||||||
|
[output]: /en/developer-guide#term-output "The output of a transaction which transfers value to a script"
|
||||||
|
[output index]: /en/developer-guide#term-output-index "The sequentially-numbered index of outputs in a single transaction starting from 0"
|
||||||
|
[outputs]: /en/developer-guide#term-output "The outputs of a transaction which transfer value to scripts"
|
||||||
|
[P2PH]: /en/developer-guide#term-p2ph "A script which Pays To Pubkey Hashes (P2PH), allowing spending of satoshis to anyone with a Bitcoin address"
|
||||||
|
[P2SH]: /en/developer-guide#term-p2sh "A script which Pays To Script Hashes (P2SH), allowing convenient spending of satoshis to an address referencing a script"
|
||||||
|
[P2SH multisig]: /en/developer-guide#term-p2sh-multisig "A multisig script embedded in the redeemScript of a pay-to-script-hash (P2SH) transaction"
|
||||||
|
[parent chain code]: /en/developer-guide#term-parent-chain-code "A chain code which has helped create child public or private keys"
|
||||||
|
[parent private key]: /en/developer-guide#term-parent-private-key "A private key which has created child private keys"
|
||||||
|
[parent public key]: /en/developer-guide#term-parent-public-key "A public key corresponding to a parent private key which has child private keys"
|
||||||
|
[payment protocol]: /en/developer-guide#term-payment-protocol "The protocol defined in BIP70 which lets spenders get signed payment details from receivers"
|
||||||
|
[PaymentACK]: /en/developer-guide#term-paymentack "The PaymentACK of the payment protocol which allows the receiver to indicate to the spender that the payment is being processed"
|
||||||
|
[PaymentDetails]: /en/developer-guide#term-paymentdetails "The PaymentDetails of the payment protocol which allows the receiver to specify the payment details to the spender"
|
||||||
|
[PaymentRequest]: /en/developer-guide#term-paymentrequest "The PaymentRequest of the payment protocol which contains and allows signing of the PaymentDetails"
|
||||||
|
[PaymentRequests]: /en/developer-guide#term-paymentrequest "The PaymentRequest of the payment protocol which contains and allows signing of the PaymentDetails"
|
||||||
|
[peer]: /en/developer-guide#term-peer "Peer on the P2P network who receives and broadcasts transactions and blocks"
|
||||||
|
[peers]: /en/developer-guide#term-peer "Peers on the P2P network who receive and broadcast transactions and blocks"
|
||||||
|
[PKI]: /en/developer-guide#term-pki "Public Key Infrastructure; usually meant to indicate the X.509 certificate system used for HTTP Secure (https)."
|
||||||
|
[point function]: /en/developer-guide#term-point-function "The ECDSA function used to create a public key from a private key"
|
||||||
|
[private key]: /en/developer-guide#term-private-key "The private portion of a keypair which can create signatures which other people can verify using the public key"
|
||||||
|
[private keys]: /en/developer-guide#term-private-key "The private portion of a keypair which can create signatures which other people can verify using the public key"
|
||||||
|
[pubkey hash]: /en/developer-guide#term-pubkey-hash "The hash of a public key which can be included in a P2PH output"
|
||||||
|
[public key]: /en/developer-guide#term-public-key "The public portion of a keypair which can be safely distributed to other people so they can verify a signature created with the corresponding private key"
|
||||||
|
[public keys]: /en/developer-guide#term-public-key "The public portion of a keypair which can be safely distributed to other people so they can verify a signature created with the corresponding private key"
|
||||||
|
[pp amount]: /en/developer-guide#term-pp-amount "Part of the Output part of the PaymentDetails part of a payment protocol where receivers can specify the amount of satoshis they want paid to a particular output script"
|
||||||
|
[pp expires]: /en/developer-guide#term-pp-expires "The expires field of a PaymentDetails where the receiver tells the spender when the PaymentDetails expires"
|
||||||
|
[pp memo]: /en/developer-guide#term-pp-memo "The memo fields of PaymentDetails, Payment, and PaymentACK which allow spenders and receivers to send each other memos"
|
||||||
|
[pp merchant data]: /en/developer-guide#term-pp-merchant-data "The merchant_data part of PaymentDetails and Payment which allows the receiver to send arbitrary data to the spender in PaymentDetails and receive it back in Payments"
|
||||||
|
[pp Payment]: /en/developer-guide#term-pp-payment "The Payment message of the PaymentProtocol which allows the spender to send payment details to the receiver"
|
||||||
|
[pp PKI data]: /en/developer-guide#term-pp-pki-data "The pki_data field of a PaymentRequest which provides details such as certificates necessary to validate the request"
|
||||||
|
[pp pki type]: /en/developer-guide#term-pp-pki-type "The PKI field of a PaymentRequest which tells spenders how to validate this request as being from a specific recipient"
|
||||||
|
[pp refund to]: /en/developer-guide#term-pp-refund-to "The refund_to field of a Payment where the spender tells the receiver what outputs to send refunds to"
|
||||||
|
[pp script]: /en/developer-guide#term-pp-script "The script field of a PaymentDetails where the receiver tells the spender what output scripts to pay"
|
||||||
|
[pp transactions]: /en/developer-guide#term-pp-transactions "The transactions field of a Payment where the spender provides copies of signed transactions to the receiver"
|
||||||
|
[pp payment url]: /en/developer-guide#term-pp-payment-url "The payment_url of the PaymentDetails which allows the receiver to specify where the sender should post payment"
|
||||||
|
[proof of work]: /en/developer-guide#term-proof-of-work "Proof that computationally-difficult work was performed which helps secure blocks against modification, protecting transaction history"
|
||||||
|
[Pubkey]: /en/developer-guide#term-pubkey "A standard output script which specifies the full public key to match a signature; used in coinbase transactions"
|
||||||
|
[r]: /en/developer-guide#term-r-parameter "The payment request parameter in a bitcoin: URI"
|
||||||
|
[raw format]: /en/developer-reference#term-raw-format "Complete transactions in their binary format; often represented using hexidecimal"
|
||||||
|
[receipt]: /en/developer-guide#term-receipt "A cryptographically-verifiable receipt created using parts of a payment request and a confirmed transaction"
|
||||||
|
[recurrent rebilling]: /en/developer-guide#rebilling-recurring-payments "Billing a spender on a regular schedule"
|
||||||
|
[redeemScript]: /en/developer-guide#term-redeemscript "A script created by the recipient, hashed, and given to the spender for use in a P2SH output"
|
||||||
|
[refund]: /en/developer-guide#issuing-refunds "A transaction which refunds some or all satoshis received in a previous transaction"
|
||||||
|
[root certificate]: /en/developer-guide#term-root-certificate "A certificate belonging to a certificate authority (CA)"
|
||||||
|
[root seed]: /en/developer-guide#term-root-seed "A potentially-short value used as a seed to generate a master private key and master chain code for an HD wallet"
|
||||||
|
[satoshi]: /en/developer-guide#term-satoshi "The smallest unit of Bitcoin value; 0.00000001 bitcoins. Also used generically for any value of bitcoins"
|
||||||
|
[satoshis]: /en/developer-guide#term-satoshi "The smallest unit of Bitcoin value; 0.00000001 bitcoins. Also used generically for any value of bitcoins"
|
||||||
|
[sequence number]: /en/developer-guide#term-sequence-number "A number intended to allow time locked transactions to be updated before being finalized; not currently used except to disable locktime in a transaction"
|
||||||
|
[script]: /en/developer-guide#term-script "The part of an output which sets the conditions for spending of the satoshis in that output"
|
||||||
|
[scripts]: /en/developer-guide#term-script "The part of an output which sets the conditions for spending of the satoshis in that output"
|
||||||
|
[scriptSig]: /en/developer-guide#term-scriptsig "Data generated by a spender which is almost always used as variables to satisfy an output script"
|
||||||
|
[script hash]: /en/developer-guide#term-script-hash "The hash of a redeemScript used to create a P2SH output"
|
||||||
|
[sha_shacp]: /en/developer-guide#term-sighash-all-sighash-anyonecanpay "Signature hash type which allows other people to contribute satoshis without changing the number of satoshis sent nor where they go"
|
||||||
|
[shacp]: /en/developer-guide#term-sighash-anyonecanpay "A signature hash type which modifies the behavior of other signature hash types"
|
||||||
|
[shn_shacp]: /en/developer-guide#term-sighash-none-sighash-anyonecanpay "Signature hash type which allows unfettered modification of a transaction"
|
||||||
|
[shs_shacp]: /en/developer-guide#term-sighash-single-sighash-anyonecanpay "Signature hash type which allows modification of the entire transaction except the signed input and the output with the same index number"
|
||||||
|
[sighash_all]: /en/developer-guide#term-sighash-all "Default signature hash type which signs the entire transaction except any scriptSigs, preventing modification of the signed parts"
|
||||||
|
[sighash_none]: /en/developer-guide#term-sighash-none "Signature hash type which only signs the inputs, allowing anyone to change the outputs however they'd like"
|
||||||
|
[sighash_single]: /en/developer-guide#term-sighash-single "Signature hash type which only signs its input and the output with the same index value, allowing modification of other inputs and outputs"
|
||||||
|
[signature]: /en/developer-guide#term-signature "The result of combining a private key and some data in an ECDSA signature operation which allows anyone with the corresponding public key to verify the signature"
|
||||||
|
[signature hash]: /en/developer-guide#term-signature-hash "A byte appended onto signatures generated in Bitcoin which allows the signer to specify what data was signed, allowing modification of the unsigned data"
|
||||||
|
[spv]: /en/developer-guide#simplified-payment-verification-spv "A method for verifying particular transactions were included in blocks without downloading the entire contents of the block chain"
|
||||||
|
[ssl signature]: /en/developer-guide#term-ssl-signature "Signatures created and recognized by major SSL implementations such as OpenSSL"
|
||||||
|
[stack]: /en/developer-guide#term-stack "An evaluation stack used in Bitcoin's script language"
|
||||||
|
[standard script]: /en/developer-guide#standard-transactions "An output script which matches the isStandard() patterns specified in Bitcoin Core---or a transaction containing only standard outputs. Only standard transactions are mined or broadcast by peers running the default Bitcoin Core software"
|
||||||
|
[target]: /en/developer-guide#term-target "The threshold below which a block header hash must be in order for the block to be added to the block chain"
|
||||||
|
[testnet]: /en/developer-guide#term-testnet "A Bitcoin-like network where the satoshis have no real-world value to allow risk-free testing"
|
||||||
|
[transaction fee]: /en/developer-guide#term-transaction-fee "The amount remaining when all outputs are subtracted from all inputs in a transaction; the fee is paid to the miner who includes that transaction in a block"
|
||||||
|
[transaction fees]: /en/developer-guide#term-transaction-fee "The amount remaining when all outputs are subtracted from all inputs in a transaction; the fee is paid to the miner who includes that transaction in a block"
|
||||||
|
[transaction malleability]: /en/developer-guide#transaction-malleability "The ability of an attacker to change the transaction identifier (txid) of unconfirmed transactions, making dependent transactions invalid"
|
||||||
|
[txid]: /en/developer-guide#term-txid "A hash of a completed transaction which allows other transactions to spend its outputs"
|
||||||
|
[transaction]: /en/developer-guide#transactions "A transaction spending satoshis"
|
||||||
|
[transaction object format]: /en/developer-reference#term-transaction-object-format
|
||||||
|
[transaction version number]: /en/developer-guide#term-transaction-version-number "A version number prefixed to transactions to allow upgrading""
|
||||||
|
[transactions]: /en/developer-guide#transactions "A transaction spending satoshis"
|
||||||
|
[unconfirmed]: /en/developer-guide#term-unconfirmed-transactions "A transaction which has not yet been added to the block chain"
|
||||||
|
[unconfirmed transactions]: /en/developer-guide#term-unconfirmed-transactions "A transaction which has not yet been added to the block chain"
|
||||||
|
[unique addresses]: /en/developer-guide#term-unique-address "Address which are only used once to protect privacy and increase security"
|
||||||
|
[URI QR Code]: /en/developer-guide#term-uri-qr-code "A QR code containing a bitcoin: URI"
|
||||||
|
[utxo]: /en/developer-guide#term-utxo "Unspent Transaction Output (UTXO) holding satoshis which have not yet been spent"
|
||||||
|
[verified payments]: /en/developer-guide#verifying-payment "Payments which the receiver believes won't be double spent"
|
||||||
|
[v2 block]: /en/developer-reference#term-v2-block "The current version of Bitcoin blocks"
|
||||||
|
[wallet]: /en/developer-guide#wallets "Software which stores private keys to allow users to spend and receive satoshis"
|
||||||
|
[Wallet Import Format]: /en/developer-guide#term-wallet-import-format "A private key specially formatted to allow easy import into a wallet"
|
||||||
|
[wallets]: /en/developer-guide#wallets "Software which stores private keys to allow users to spend and receive satoshis"
|
||||||
|
[X509Certificates]: /en/developer-guide#term-x509certificates
|
||||||
|
|
||||||
|
[BFGMiner]: https://github.com/luke-jr/bfgminer
|
||||||
|
[BIP21]: https://github.com/bitcoin/bips/blob/master/bip-0021.mediawiki
|
||||||
|
[BIP32]: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki
|
||||||
|
[BIP39]: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
|
||||||
|
[BIP70]: https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
|
||||||
|
[bitcoin-documentation mailing list]: https://groups.google.com/forum/#!forum/bitcoin-documentation
|
||||||
|
[bitcoinpdf]: https://bitcoin.org/bitcoin.pdf
|
||||||
|
[block170]: http://blockexplorer.com/block/00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee
|
||||||
|
[casascius address utility]: https://github.com/casascius/Bitcoin-Address-Utility
|
||||||
|
[core base58.h]: https://github.com/bitcoin/bitcoin/blob/master/src/base58.h
|
||||||
|
[core executable]: /en/download
|
||||||
|
[core git]: https://github.com/bitcoin/bitcoin
|
||||||
|
[core paymentrequest.proto]: https://github.com/bitcoin/bitcoin/blob/master/src/qt/paymentrequest.proto
|
||||||
|
[core script.h]: https://github.com/bitcoin/bitcoin/blob/master/src/script.h
|
||||||
|
[DER]: https://en.wikipedia.org/wiki/Abstract_Syntax_Notation_One
|
||||||
|
[devguide wallets]: /en/developer-guide#wallets
|
||||||
|
[devref wallets]: /en/developer-reference#wallets
|
||||||
|
[docs issue]: https://github.com/bitcoin/bitcoin.org/issues
|
||||||
|
[ECDSA]: https://en.wikipedia.org/wiki/Elliptic_Curve_DSA
|
||||||
|
[Eloipool]: https://gitorious.org/bitcoin/eloipool
|
||||||
|
[forum tech support]: https://bitcointalk.org/index.php?board=4.0
|
||||||
|
[HMAC-SHA512]: https://en.wikipedia.org/wiki/HMAC
|
||||||
|
[HTTP longpoll]: https://en.wikipedia.org/wiki/Push_technology#Long_polling
|
||||||
|
[irc channels]: https://en.bitcoin.it/wiki/IRC_channels
|
||||||
|
[MIME]: https://en.wikipedia.org/wiki/Internet_media_type
|
||||||
|
[Merge Avoidance subsection]: /en/developer-guide#merge-avoidance
|
||||||
|
[mozrootstore]: https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/
|
||||||
|
[Piotr Piasecki's testnet faucet]: https://tpfaucet.appspot.com/
|
||||||
|
[prime symbol]: https://en.wikipedia.org/wiki/Prime_%28symbol%29
|
||||||
|
[protobuf]: https://developers.google.com/protocol-buffers/
|
||||||
|
[raw transaction format]: /en/developer-reference#raw-transaction-format
|
||||||
|
[regression test mode]: https://bitcoinj.github.io/testing
|
||||||
|
[rpc addmultisigaddress]: /en/developer-reference#addmultisigaddress
|
||||||
|
[rpc addnode]: /en/developer-reference#addnode
|
||||||
|
[rpc backupwallet]: /en/developer-reference#backupwallet
|
||||||
|
[rpc createmultisig]: /en/developer-reference#createmultisig
|
||||||
|
[rpc createrawtransaction]: /en/developer-reference#createrawtransaction
|
||||||
|
[rpc decoderawtransaction]: /en/developer-reference#decoderawtransaction
|
||||||
|
[rpc decodescript]: /en/developer-reference#decodescript
|
||||||
|
[rpc dumpprivkey]: /en/developer-reference#dumpprivkey
|
||||||
|
[rpc dumpwallet]: /en/developer-reference#dumpwallet
|
||||||
|
[rpc getaccount]: /en/developer-reference#getaccount
|
||||||
|
[rpc getaccountaddress]: /en/developer-reference#getaccountaddress
|
||||||
|
[rpc getaddednodeinfo]: /en/developer-reference#getaddednodeinfo
|
||||||
|
[rpc getaddressesbyaccount]: /en/developer-reference#getaddressesbyaccount
|
||||||
|
[rpc getbalance]: /en/developer-reference#getbalance
|
||||||
|
[rpc getbestblockhash]: /en/developer-reference#getbestblockhash
|
||||||
|
[rpc getblock]: /en/developer-reference#getblock
|
||||||
|
[rpc getblockcount]: /en/developer-reference#getblockcount
|
||||||
|
[rpc getblockhash]: /en/developer-reference#getblockhash
|
||||||
|
[rpc getblocktemplate]: /en/developer-reference#getblocktemplate
|
||||||
|
[rpc getconnectioncount]: /en/developer-reference#getconnectioncount
|
||||||
|
[rpc getdifficulty]: /en/developer-reference#getdifficulty
|
||||||
|
[rpc getgenerate]: /en/developer-reference#getgenerate
|
||||||
|
[rpc gethashespersec]: /en/developer-reference#gethashespersec
|
||||||
|
[rpc getinfo]: /en/developer-reference#getinfo
|
||||||
|
[rpc getmininginfo]: /en/developer-reference#getmininginfo
|
||||||
|
[rpc getnettotals]: /en/developer-reference#getnettotals
|
||||||
|
[rpc getnetworkhashps]: /en/developer-reference#getnetworkhashps
|
||||||
|
[rpc getnewaddress]: /en/developer-reference#getnewaddress
|
||||||
|
[rpc getpeerinfo]: /en/developer-reference#getpeerinfo
|
||||||
|
[rpc getrawchangeaddress]: /en/developer-reference#getrawchangeaddress
|
||||||
|
[rpc getrawmempool]: /en/developer-reference#getrawmempool
|
||||||
|
[rpc getrawtransaction]: /en/developer-reference#getrawtransaction
|
||||||
|
[rpc getreceivedbyaccount]: /en/developer-reference#getreceivedbyaccount
|
||||||
|
[rpc getreceivedbyaddress]: /en/developer-reference#getreceivedbyaddress
|
||||||
|
[rpc gettransaction]: /en/developer-reference#gettransaction
|
||||||
|
[rpc gettxout]: /en/developer-reference#gettxout
|
||||||
|
[rpc gettxoutsetinfo]: /en/developer-reference#gettxoutsetinfo
|
||||||
|
[rpc getunconfirmedbalance]: /en/developer-reference#getunconfirmedbalance
|
||||||
|
[rpc getwork]: /en/developer-reference#getwork
|
||||||
|
[rpc help]: /en/developer-reference#help
|
||||||
|
[rpc importprivkey]: /en/developer-reference#importprivkey
|
||||||
|
[rpc importwallet]: /en/developer-reference#importwallet
|
||||||
|
[rpc keypoolrefill]: /en/developer-reference#keypoolrefill
|
||||||
|
[rpc listaccounts]: /en/developer-reference#listaccounts
|
||||||
|
[rpc listaddressgroupings]: /en/developer-reference#listaddressgroupings
|
||||||
|
[rpc listlockunspent]: /en/developer-reference#listlockunspent
|
||||||
|
[rpc listreceivedbyaccount]: /en/developer-reference#listreceivedbyaccount
|
||||||
|
[rpc listreceivedbyaddress]: /en/developer-reference#listreceivedbyaddress
|
||||||
|
[rpc listsinceblock]: /en/developer-reference#listsinceblock
|
||||||
|
[rpc listtransactions]: /en/developer-reference#listtransactions
|
||||||
|
[rpc listunspent]: /en/developer-reference#listunspent
|
||||||
|
[rpc lockunspent]: /en/developer-reference#lockunspent
|
||||||
|
[rpc move]: /en/developer-reference#move
|
||||||
|
[rpc ping]: /en/developer-reference#ping
|
||||||
|
[rpc sendfrom]: /en/developer-reference#sendfrom
|
||||||
|
[rpc sendmany]: /en/developer-reference#sendmany
|
||||||
|
[rpc sendrawtransaction]: /en/developer-reference#sendrawtransaction
|
||||||
|
[rpc sendtoaddress]: /en/developer-reference#sendtoaddress
|
||||||
|
[rpc setaccount]: /en/developer-reference#setaccount
|
||||||
|
[rpc setgenerate]: /en/developer-reference#setgenerate
|
||||||
|
[rpc settxfee]: /en/developer-reference#settxfee
|
||||||
|
[rpc signmessage]: /en/developer-reference#signmessage
|
||||||
|
[rpc signrawtransaction]: /en/developer-reference#signrawtransaction
|
||||||
|
[rpc stop]: /en/developer-reference#stop
|
||||||
|
[rpc submitblock]: /en/developer-reference#submitblock
|
||||||
|
[rpc validateaddress]: /en/developer-reference#validateaddress
|
||||||
|
[rpc verifychain]: /en/developer-reference#verifychain
|
||||||
|
[rpc verifymessage]: /en/developer-reference#verifymessage
|
||||||
|
[rpc walletlock]: /en/developer-reference#walletlock
|
||||||
|
[rpc walletpassphrase]: /en/developer-reference#walletpassphrase
|
||||||
|
[rpc walletpassphrasechange]: /en/developer-reference#walletpassphrasechange
|
||||||
|
[RPC]: /en/developer-reference#remote-procedure-calls-rpcs
|
||||||
|
[RPCs]: /en/developer-reference#remote-procedure-calls-rpcs
|
||||||
|
[secp256k1]: http://www.secg.org/index.php?action=secg,docs_secg
|
||||||
|
[section verifying payment]: /en/developer-guide#verifying-payment
|
||||||
|
[bitcoin URI subsection]: /en/developer-guide#bitcoin-uri
|
||||||
|
[SHA256]: https://en.wikipedia.org/wiki/SHA-2
|
||||||
|
[Stratum mining protocol]: http://mining.bitcoin.cz/stratum-mining
|
||||||
|
[URI encoded]: https://tools.ietf.org/html/rfc3986
|
||||||
|
[Verification subsection]: /en/developer-guide#verifying-payment
|
||||||
|
[wiki script]: https://en.bitcoin.it/wiki/Script
|
||||||
|
[x509]: https://en.wikipedia.org/wiki/X.509
|
||||||
|
|
18
_less/ie.css
|
@ -149,18 +149,18 @@ body{
|
||||||
}
|
}
|
||||||
|
|
||||||
.resources div{
|
.resources div{
|
||||||
border-top:expression((this.parentNode!=this.parentNode.parentNode.getElementsByTagName('DIV')[0])?'1px solid #e0e0e0':'0');
|
border-top:expression(this.parentNode.className=='resources'&&this!=this.parentNode.getElementsByTagName('DIV')[0]?'1px solid #e0e0e0':'0');
|
||||||
}
|
}
|
||||||
.resources div div{
|
.resources div div{
|
||||||
zoom:1;
|
zoom:1;
|
||||||
display:inline;
|
display:inline;
|
||||||
padding-top:25px;
|
padding-top:25px;
|
||||||
position:relative;
|
position:relative;
|
||||||
padding-right:expression(this.parentNode.getElementsByTagName('DIV')[0]==this?'40px':'');
|
padding-right:expression(this.parentNode.parentNode.className=='resources'&&this.parentNode.getElementsByTagName('DIV')[0]==this?'40px':'');
|
||||||
border-right:expression(this.parentNode.getElementsByTagName('DIV')[0]==this?'1px solid #e0e0e0':'');
|
border-right:expression(this.parentNode.parentNode.className=='resources'&&this.parentNode.getElementsByTagName('DIV')[0]==this?'1px solid #e0e0e0':'');
|
||||||
padding-left:expression(this.parentNode.getElementsByTagName('DIV')[1]==this?'40px':'');
|
padding-left:expression(this.parentNode.parentNode.className=='resources'&&this!=this.parentNode.getElementsByTagName('DIV')[0]?'40px':'');
|
||||||
border-left:expression(this.parentNode.getElementsByTagName('DIV')[1]==this?'1px solid #e0e0e0':'');
|
border-left:expression(this.parentNode.parentNode.className=='resources'&&this!=this.parentNode.getElementsByTagName('DIV')[0]?'1px solid #e0e0e0':'');
|
||||||
margin-left:expression(this.parentNode.getElementsByTagName('DIV')[1]==this?'-1px':'');
|
margin-left:expression(this.parentNode.parentNode.className=='resources'&&this!=this.parentNode.getElementsByTagName('DIV')[0]?'-1px':'');
|
||||||
}
|
}
|
||||||
.resources>div>div:first-child+div{
|
.resources>div>div:first-child+div{
|
||||||
/*This one is for IE7 only*/
|
/*This one is for IE7 only*/
|
||||||
|
@ -176,6 +176,12 @@ body{
|
||||||
border-top:expression(this.parentNode.className=='resourcesorg'&&this.parentNode.getElementsByTagName('DIV')[0]!=this?'1px solid #e0e0e0':'0');
|
border-top:expression(this.parentNode.className=='resourcesorg'&&this.parentNode.getElementsByTagName('DIV')[0]!=this?'1px solid #e0e0e0':'0');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.docreference a{
|
||||||
|
zoom:1;
|
||||||
|
display:inline;
|
||||||
|
width:200px;
|
||||||
|
}
|
||||||
|
|
||||||
.downloadbox{
|
.downloadbox{
|
||||||
zoom:1;
|
zoom:1;
|
||||||
display:inline;
|
display:inline;
|
||||||
|
|
|
@ -626,6 +626,210 @@ table td,table th{
|
||||||
line-height:1.5em;
|
line-height:1.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.docreference{
|
||||||
|
text-align:center;
|
||||||
|
}
|
||||||
|
.docreference a{
|
||||||
|
display:inline-block;
|
||||||
|
margin:0 15px 40px 15px;
|
||||||
|
font-size:125%;
|
||||||
|
}
|
||||||
|
.docreference img{
|
||||||
|
display:block;
|
||||||
|
height:48px;
|
||||||
|
width:48px;
|
||||||
|
margin:0 auto 10px auto;
|
||||||
|
}
|
||||||
|
.docreference span{
|
||||||
|
display:block;
|
||||||
|
line-height:1.5em;
|
||||||
|
}
|
||||||
|
.docreference span+span{
|
||||||
|
font-size:80%;
|
||||||
|
}
|
||||||
|
.toc{
|
||||||
|
position:absolute;
|
||||||
|
left:20px;
|
||||||
|
text-align:left;
|
||||||
|
padding-top:40px;
|
||||||
|
margin-top:-40px;
|
||||||
|
}
|
||||||
|
.toc div{
|
||||||
|
overflow-y:auto;
|
||||||
|
overflow-x:hidden;
|
||||||
|
width:240px;
|
||||||
|
}
|
||||||
|
.toc div.scroll{
|
||||||
|
position:fixed;
|
||||||
|
}
|
||||||
|
.toc ul,
|
||||||
|
.toc li{
|
||||||
|
list-style:none;
|
||||||
|
padding:0;
|
||||||
|
margin:0;
|
||||||
|
}
|
||||||
|
.toc ul{
|
||||||
|
width:220px;
|
||||||
|
border-right:1px solid #e0e0e0;
|
||||||
|
padding:0 19px 0 0;
|
||||||
|
}
|
||||||
|
.toc ul li{
|
||||||
|
padding:0 0 10px 0;
|
||||||
|
}
|
||||||
|
.toc ul li ul{
|
||||||
|
position:relative;
|
||||||
|
top:0;
|
||||||
|
padding:10px 0 0 0;
|
||||||
|
border:0;
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
.toc ul li.active ul{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
.toc ul li ul li{
|
||||||
|
padding:0 0 4px 0;
|
||||||
|
}
|
||||||
|
.toc ul li ul li ul li{
|
||||||
|
padding-left:10px;
|
||||||
|
}
|
||||||
|
.toc ul li a{
|
||||||
|
padding-left:20px;
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
|
.toc ul li ul li a{
|
||||||
|
font-weight:normal;
|
||||||
|
}
|
||||||
|
.toc ul li ul li a:hover:before,
|
||||||
|
.toc ul li ul li a.active:before{
|
||||||
|
content:">";
|
||||||
|
position:absolute;
|
||||||
|
font-weight:bold;
|
||||||
|
left:0px;
|
||||||
|
}
|
||||||
|
.toc ul+ul{
|
||||||
|
padding-top:8px;
|
||||||
|
}
|
||||||
|
.toc ul+ul li{
|
||||||
|
background:url(/img/mini_ico_back.svg) no-repeat 0 3px;
|
||||||
|
}
|
||||||
|
.toc a,
|
||||||
|
.toc a:link,
|
||||||
|
.toc a:active,
|
||||||
|
.toc a:visited{
|
||||||
|
display:block;
|
||||||
|
text-decoration:none;
|
||||||
|
line-height:1.5em;
|
||||||
|
}
|
||||||
|
.toccontent{
|
||||||
|
width:600px;
|
||||||
|
margin:auto 0 auto auto;
|
||||||
|
position:relative;
|
||||||
|
}
|
||||||
|
.toccontent h2{
|
||||||
|
font-size:150%;
|
||||||
|
color:#383838;
|
||||||
|
}
|
||||||
|
.toccontent h3{
|
||||||
|
font-size:130%;
|
||||||
|
color:#383838;
|
||||||
|
}
|
||||||
|
.toccontent h4{
|
||||||
|
font-size:110%;
|
||||||
|
color:#383838;
|
||||||
|
}
|
||||||
|
.toccontent h5,.toccontent h6{
|
||||||
|
font-size:100%;
|
||||||
|
color:#383838;
|
||||||
|
}
|
||||||
|
.toccontent img{
|
||||||
|
max-width:100%;
|
||||||
|
}
|
||||||
|
.toccontent a.auto-link:link,
|
||||||
|
.toccontent a.auto-link:visited{
|
||||||
|
color:#646464;
|
||||||
|
}
|
||||||
|
.toccontent p:hover a.auto-link:link,
|
||||||
|
.toccontent p:hover a.auto-link:visited{
|
||||||
|
color:#2c6fad;
|
||||||
|
}
|
||||||
|
.toccontent p:hover a.auto-link:link:hover,
|
||||||
|
.toccontent p:hover a.auto-link:visited:hover{
|
||||||
|
color:#63a4e1;
|
||||||
|
}
|
||||||
|
.toccontent a:link.term,
|
||||||
|
.toccontent a:visited.term,
|
||||||
|
.toccontent p:hover a.auto-link.term:link,
|
||||||
|
.toccontent p:hover a.auto-link.term:visited,
|
||||||
|
.toccontent p:hover a.auto-link.term:link:hover,
|
||||||
|
.toccontent p:hover a.auto-link.term:visited:hover{
|
||||||
|
color:#000;
|
||||||
|
}
|
||||||
|
.toccontent a.term:link code,
|
||||||
|
.toccontent a.term:visited code{
|
||||||
|
color:#646464;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight { background: #ffffff; }
|
||||||
|
.highlight .c { color: #999988; font-style: italic } /* Comment */
|
||||||
|
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
|
||||||
|
.highlight .k { font-weight: bold } /* Keyword */
|
||||||
|
.highlight .o { font-weight: bold } /* Operator */
|
||||||
|
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
|
||||||
|
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
|
||||||
|
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
|
||||||
|
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
|
||||||
|
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
|
||||||
|
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
|
||||||
|
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||||
|
.highlight .gr { color: #aa0000 } /* Generic.Error */
|
||||||
|
.highlight .gh { color: #999999 } /* Generic.Heading */
|
||||||
|
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
|
||||||
|
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
|
||||||
|
.highlight .go { color: #888888 } /* Generic.Output */
|
||||||
|
.highlight .gp { color: #555555 } /* Generic.Prompt */
|
||||||
|
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||||
|
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
|
||||||
|
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
|
||||||
|
.highlight .kc { font-weight: bold } /* Keyword.Constant */
|
||||||
|
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
|
||||||
|
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
|
||||||
|
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
|
||||||
|
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
|
||||||
|
.highlight .m { color: #009999 } /* Literal.Number */
|
||||||
|
.highlight .s { color: #d14 } /* Literal.String */
|
||||||
|
.highlight .na { color: #008080 } /* Name.Attribute */
|
||||||
|
.highlight .nb { color: #0086B3 } /* Name.Builtin */
|
||||||
|
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
|
||||||
|
.highlight .no { color: #008080 } /* Name.Constant */
|
||||||
|
.highlight .ni { color: #800080 } /* Name.Entity */
|
||||||
|
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
|
||||||
|
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
|
||||||
|
.highlight .nn { color: #555555 } /* Name.Namespace */
|
||||||
|
.highlight .nt { color: #000080 } /* Name.Tag */
|
||||||
|
.highlight .nv { color: #008080 } /* Name.Variable */
|
||||||
|
.highlight .ow { font-weight: bold } /* Operator.Word */
|
||||||
|
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||||
|
.highlight .mf { color: #009999 } /* Literal.Number.Float */
|
||||||
|
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
|
||||||
|
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
|
||||||
|
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
|
||||||
|
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
|
||||||
|
.highlight .sc { color: #d14 } /* Literal.String.Char */
|
||||||
|
.highlight .sd { color: #d14 } /* Literal.String.Doc */
|
||||||
|
.highlight .s2 { color: #d14 } /* Literal.String.Double */
|
||||||
|
.highlight .se { color: #d14 } /* Literal.String.Escape */
|
||||||
|
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
|
||||||
|
.highlight .si { color: #d14 } /* Literal.String.Interpol */
|
||||||
|
.highlight .sx { color: #d14 } /* Literal.String.Other */
|
||||||
|
.highlight .sr { color: #009926 } /* Literal.String.Regex */
|
||||||
|
.highlight .s1 { color: #d14 } /* Literal.String.Single */
|
||||||
|
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
|
||||||
|
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
|
||||||
|
.highlight .vc { color: #008080 } /* Name.Variable.Class */
|
||||||
|
.highlight .vg { color: #008080 } /* Name.Variable.Global */
|
||||||
|
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
|
||||||
|
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */
|
||||||
|
|
||||||
.box{
|
.box{
|
||||||
border:2px dashed #4892b2;
|
border:2px dashed #4892b2;
|
||||||
padding:0 20px 0 20px;
|
padding:0 20px 0 20px;
|
||||||
|
@ -724,6 +928,14 @@ table td,table th{
|
||||||
font-size:115%;
|
font-size:115%;
|
||||||
margin:6px 0;
|
margin:6px 0;
|
||||||
}
|
}
|
||||||
|
.resources .resourcesext{
|
||||||
|
margin-top:5px;
|
||||||
|
min-height:0;
|
||||||
|
}
|
||||||
|
.resources .resourcesext p{
|
||||||
|
padding-left:24px;
|
||||||
|
background:url(/img/mini_ico_link.svg) no-repeat 0 4px;
|
||||||
|
}
|
||||||
|
|
||||||
.resourcesorg{
|
.resourcesorg{
|
||||||
margin-bottom:40px;
|
margin-bottom:40px;
|
||||||
|
@ -1323,6 +1535,12 @@ h2 .rssicon{
|
||||||
padding:0;
|
padding:0;
|
||||||
border:0;
|
border:0;
|
||||||
}
|
}
|
||||||
|
.toc{
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
.toccontent{
|
||||||
|
width:auto;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Styles specific to mobiles*/
|
/*Styles specific to mobiles*/
|
||||||
|
@ -1422,6 +1640,52 @@ h2 .rssicon{
|
||||||
.index li{
|
.index li{
|
||||||
padding:3px 0;
|
padding:3px 0;
|
||||||
}
|
}
|
||||||
|
.docreference{
|
||||||
|
width:220px;
|
||||||
|
margin:0 0 40px 0;
|
||||||
|
}
|
||||||
|
.toc{
|
||||||
|
position:static;
|
||||||
|
margin-top:0px;
|
||||||
|
padding:10px;
|
||||||
|
border:2px dashed #4892b2;
|
||||||
|
display:inline-block;
|
||||||
|
}
|
||||||
|
.toc div{
|
||||||
|
width:auto;
|
||||||
|
}
|
||||||
|
.toc div.scroll{
|
||||||
|
position:static;
|
||||||
|
}
|
||||||
|
.toc ul,
|
||||||
|
.toc.scroll ul{
|
||||||
|
width:auto;
|
||||||
|
padding:0;
|
||||||
|
border:0;
|
||||||
|
}
|
||||||
|
.toc ul li ul{
|
||||||
|
display:block;
|
||||||
|
}
|
||||||
|
.toc ul li ul li ul li{
|
||||||
|
padding-left:0;
|
||||||
|
}
|
||||||
|
.toc ul li a{
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
.toc ul li ul li a:hover:before,
|
||||||
|
.toc ul li ul li a.active:before{
|
||||||
|
content:"";
|
||||||
|
}
|
||||||
|
.toc ul+ul li{
|
||||||
|
background:none;
|
||||||
|
}
|
||||||
|
.toccontent{
|
||||||
|
width:auto;
|
||||||
|
}
|
||||||
|
.toccontent a.auto-link:link,
|
||||||
|
.toccontent a.auto-link:visited{
|
||||||
|
color:#2c6fad;
|
||||||
|
}
|
||||||
.contributors{
|
.contributors{
|
||||||
width:auto;
|
width:auto;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,8 +26,6 @@ id: bitcoin-for-developers
|
||||||
{% case page.lang %}
|
{% case page.lang %}
|
||||||
{% when 'ar' or 'fa' or 'pl' or 'zh_TW' %}
|
{% when 'ar' or 'fa' or 'pl' or 'zh_TW' %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<div class="introlink">{% translate serviceslist %}</div>
|
<div class="mainbutton"><a href="/en/developer-documentation"><img src="/img/but_bitcoin.svg" alt="icon">{% translate getstarted layout %}</a></div>
|
||||||
<div class="introlink">{% translate apireference %}</div>
|
|
||||||
<div class="mainbutton"><a href="{% translate getting-started url %}"><img src="/img/but_bitcoin.svg" alt="icon">{% translate getstarted layout %}</a></div>
|
|
||||||
{% endcase %}
|
{% endcase %}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,12 @@ id: development
|
||||||
<h2>{% translate spec %}</h2>
|
<h2>{% translate spec %}</h2>
|
||||||
<p>{% translate spectxt %}</p>
|
<p>{% translate spectxt %}</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
{% case page.lang %}
|
||||||
|
{% when 'ar' or 'bg' or 'de' or 'es' or 'fa' or 'fr' or 'hu' or 'id' or 'it' or 'nl' or 'pl' or 'ru' or 'tr' or 'zh_CN' or 'zh_TW' %}
|
||||||
|
<li>{% translate speclinkguide development en %}</li>
|
||||||
|
{% else %}
|
||||||
|
<li>{% translate speclinkguide %}</li>
|
||||||
|
{% endcase %}
|
||||||
<li>{% translate speclink1 %}</li>
|
<li>{% translate speclink1 %}</li>
|
||||||
<li>{% translate speclink2 %}</li>
|
<li>{% translate speclink2 %}</li>
|
||||||
<li>{% translate speclink3 %}</li>
|
<li>{% translate speclink3 %}</li>
|
||||||
|
|
|
@ -51,8 +51,6 @@ en:
|
||||||
securitytext: "Most parts of the security are handled by the protocol. This means no need for PCI compliance and fraud detection is only required when services or products are delivered instantly. Storing your bitcoins in a <a href=\"#secure-your-wallet#\">secure environment</a> and securing payment requests displayed to the user should be your main concerns."
|
securitytext: "Most parts of the security are handled by the protocol. This means no need for PCI compliance and fraud detection is only required when services or products are delivered instantly. Storing your bitcoins in a <a href=\"#secure-your-wallet#\">secure environment</a> and securing payment requests displayed to the user should be your main concerns."
|
||||||
micro: "Cheap micro payments"
|
micro: "Cheap micro payments"
|
||||||
microtext: "Bitcoin offers the lowest payment processing fees and usually can be used to send micro payments as low as a few dollars in value. Bitcoin allows to design new creative online services that could not exist before only because of financial limitations. This includes various kinds of tipping systems and automated payment solutions."
|
microtext: "Bitcoin offers the lowest payment processing fees and usually can be used to send micro payments as low as a few dollars in value. Bitcoin allows to design new creative online services that could not exist before only because of financial limitations. This includes various kinds of tipping systems and automated payment solutions."
|
||||||
serviceslist: "Visit the <a href=\"https://en.bitcoin.it/wiki/How_to_accept_Bitcoin,_for_small_businesses#Merchant_Services\">merchant services list</a> on the wiki."
|
|
||||||
apireference: "Or read bitcoind's <a href=\"https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)\">API reference</a> and <a href=\"https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list\">API calls list</a>."
|
|
||||||
bitcoin-for-individuals:
|
bitcoin-for-individuals:
|
||||||
title: "Bitcoin for Individuals - Bitcoin"
|
title: "Bitcoin for Individuals - Bitcoin"
|
||||||
pagetitle: "Bitcoin for Individuals"
|
pagetitle: "Bitcoin for Individuals"
|
||||||
|
@ -135,6 +133,7 @@ en:
|
||||||
summary: "Find more information about current specification, software and developers."
|
summary: "Find more information about current specification, software and developers."
|
||||||
spec: "Specification"
|
spec: "Specification"
|
||||||
spectxt: "If you are interested in learning more about the technical details of Bitcoin, it is recommended you start with these documents."
|
spectxt: "If you are interested in learning more about the technical details of Bitcoin, it is recommended you start with these documents."
|
||||||
|
speclinkguide: "<a href=\"/en/developer-documentation\">Developer documentation</a>"
|
||||||
speclink1: "<a href=\"/bitcoin.pdf\">Bitcoin: A Peer-to-Peer Electronic Cash System</a>"
|
speclink1: "<a href=\"/bitcoin.pdf\">Bitcoin: A Peer-to-Peer Electronic Cash System</a>"
|
||||||
speclink2: "<a href=\"https://en.bitcoin.it/wiki/Protocol_rules\">Protocol rules</a>"
|
speclink2: "<a href=\"https://en.bitcoin.it/wiki/Protocol_rules\">Protocol rules</a>"
|
||||||
speclink3: "<a href=\"https://en.bitcoin.it/wiki/Category:Technical\">Bitcoin Wiki</a>"
|
speclink3: "<a href=\"https://en.bitcoin.it/wiki/Category:Technical\">Bitcoin Wiki</a>"
|
||||||
|
@ -348,7 +347,7 @@ en:
|
||||||
processing: "Processing<a class=\"titlelight\"> - mining</a>"
|
processing: "Processing<a class=\"titlelight\"> - mining</a>"
|
||||||
processingtxt: "Mining is a <b>distributed consensus system</b> that is used to <a href=\"#vocabulary##[vocabulary.confirmation]\"><i>confirm</i></a> waiting transactions by including them in the block chain. It enforces a chronological order in the block chain, protects the neutrality of the network, and allows different computers to agree on the state of the system. To be confirmed, transactions must be packed in a <a href=\"#vocabulary##[vocabulary.block]\"><i>block</i></a> that fits very strict cryptographic rules that will be verified by the network. These rules prevent previous blocks from being modified because doing so would invalidate all following blocks. Mining also creates the equivalent of a competitive lottery that prevents any individual from easily adding new blocks consecutively in the block chain. This way, no individuals can control what is included in the block chain or replace parts of the block chain to roll back their own spends."
|
processingtxt: "Mining is a <b>distributed consensus system</b> that is used to <a href=\"#vocabulary##[vocabulary.confirmation]\"><i>confirm</i></a> waiting transactions by including them in the block chain. It enforces a chronological order in the block chain, protects the neutrality of the network, and allows different computers to agree on the state of the system. To be confirmed, transactions must be packed in a <a href=\"#vocabulary##[vocabulary.block]\"><i>block</i></a> that fits very strict cryptographic rules that will be verified by the network. These rules prevent previous blocks from being modified because doing so would invalidate all following blocks. Mining also creates the equivalent of a competitive lottery that prevents any individual from easily adding new blocks consecutively in the block chain. This way, no individuals can control what is included in the block chain or replace parts of the block chain to roll back their own spends."
|
||||||
readmore: "Going down the rabbit hole"
|
readmore: "Going down the rabbit hole"
|
||||||
readmoretxt: "This is only a very short and concise summary of the system. If you want to get into the details, you can <a href=\"/bitcoin.pdf\">read the original paper</a> that describes the system's design, and explore the <a href=\"https://en.bitcoin.it/wiki/Main_Page\">Bitcoin wiki</a>."
|
readmoretxt: "This is only a very short and concise summary of the system. If you want to get into the details, you can <a href=\"/bitcoin.pdf\">read the original paper</a> that describes the system's design, read the <a href=\"/en/developer-documentation\">developer documentation</a>, and explore the <a href=\"https://en.bitcoin.it/wiki/Main_Page\">Bitcoin wiki</a>."
|
||||||
index:
|
index:
|
||||||
title: "Bitcoin - Open source P2P money"
|
title: "Bitcoin - Open source P2P money"
|
||||||
listintro: "Bitcoin is an innovative payment network and a new kind of money."
|
listintro: "Bitcoin is an innovative payment network and a new kind of money."
|
||||||
|
|
74
en/developer-documentation.md
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
---
|
||||||
|
layout: base
|
||||||
|
lang: en
|
||||||
|
id: developer-documentation
|
||||||
|
title: "Developer Documentation - Bitcoin"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Developer Documentation
|
||||||
|
|
||||||
|
<p class="summary">Find useful resources, guides and reference material for developers.</p>
|
||||||
|
|
||||||
|
<div class="docreference">
|
||||||
|
<a href="/en/developer-guide"><img src="/img/main_ico_guide.svg" alt="icon"><span>Developer Guide</span><span>(How Bitcoin works)</span></a>
|
||||||
|
<a href="/en/developer-reference"><img src="/img/main_ico_guide.svg" alt="icon"><span>Developer Reference</span><span>(Specifications and APIs)</span></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="resources">
|
||||||
|
<div><div>
|
||||||
|
<h2><img src="/img/ico_blockchain.svg" class="titleicon" alt="Icon">Block Chain</h2>
|
||||||
|
<p><a href="/en/developer-guide#block-chain">Block Chain Guide</a></p>
|
||||||
|
<p><a href="/en/developer-reference#block-chain">Block Chain Reference</a></p>
|
||||||
|
</div><div>
|
||||||
|
<h2><img src="/img/ico_micro.svg" class="titleicon" alt="Icon">Transactions</h2>
|
||||||
|
<p><a href="/en/developer-guide#transactions">Transactions Guide</a></p>
|
||||||
|
<p><a href="/en/developer-reference#transaction">Transactions Reference</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<h2><img src="/img/ico_contract.svg" class="titleicon" alt="Icon">Contracts</h2>
|
||||||
|
<p><a href="/en/developer-guide#contracts">Contracts Guide</a></p>
|
||||||
|
<div class="resourcesext">
|
||||||
|
<p><a href="https://en.bitcoin.it/wiki/Contracts">More Contracts</a> - Wiki</p>
|
||||||
|
<p><a href="https://bitcoinj.github.io/working-with-micropayments">Micropayment Channel Example</a> - bitcoinj</p>
|
||||||
|
</div>
|
||||||
|
</div><div>
|
||||||
|
<h2><img src="/img/ico_key.svg" class="titleicon" alt="Icon">Wallets</h2>
|
||||||
|
<p><a href="/en/developer-guide#wallets">Wallets Guide</a></p>
|
||||||
|
<p><a href="/en/developer-reference#wallets">Wallets Reference</a></p>
|
||||||
|
<div class="resourcesext">
|
||||||
|
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">HD Wallets</a> - BIP32</p>
|
||||||
|
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">Mnemonic Code</a> - BIP39</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<h2><img src="/img/ico_bill.svg" class="titleicon" alt="Icon">Payment Processing</h2>
|
||||||
|
<p><a href="/en/developer-guide#payment-processing">Payment Processing Guide</a></p>
|
||||||
|
<div class="resourcesext">
|
||||||
|
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki">Payment Protocol</a> - BIP70</p>
|
||||||
|
</div>
|
||||||
|
</div><div>
|
||||||
|
<h2><img src="/img/ico_conf.svg" class="titleicon" alt="Icon">Operating Modes</h2>
|
||||||
|
<p><a href="/en/developer-guide#operating-modes">Operating Modes Guide</a></p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<h2><img src="/img/ico_network.svg" class="titleicon" alt="Icon">P2P Network</h2>
|
||||||
|
<p><a href="/en/developer-guide#p2p-network">P2P Network Guide</a></p>
|
||||||
|
<div class="resourcesext">
|
||||||
|
<p><a href="https://en.bitcoin.it/wiki/Protocol_specification">Full Protocol Specification</a> - Wiki</p>
|
||||||
|
</div>
|
||||||
|
</div><div>
|
||||||
|
<h2><img src="/img/ico_mining.svg" class="titleicon" alt="Icon">Mining</h2>
|
||||||
|
<p><a href="/en/developer-guide#mining">Mining Guide</a></p>
|
||||||
|
<div class="resourcesext">
|
||||||
|
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki">getworktemplate Fundamentals</a> - BIP22</p>
|
||||||
|
<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0023.mediawiki">getworktemplate Pooled Mining</a> - BIP23</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
49
en/developer-guide.md
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
---
|
||||||
|
layout: base
|
||||||
|
lang: en
|
||||||
|
id: developer-guide
|
||||||
|
title: "Developer Guide - Bitcoin"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bitcoin Developer Guide
|
||||||
|
|
||||||
|
<p class="summary">Find detailed information about the Bitcoin protocol and related specifications.</p>
|
||||||
|
|
||||||
|
<div markdown="1" id="toc" class="toc"><div markdown="1">
|
||||||
|
|
||||||
|
* Table of contents
|
||||||
|
{:toc}
|
||||||
|
|
||||||
|
<ul><li><a href="/en/developer-documentation">Return To Overview</a></li></ul>
|
||||||
|
|
||||||
|
</div></div>
|
||||||
|
|
||||||
|
<div markdown="1" class="toccontent">
|
||||||
|
|
||||||
|
<!-- includes should be separated by an empty line to prevent a
|
||||||
|
paragraph at the end of one file from breaking the heading at the start
|
||||||
|
of the following file. -->
|
||||||
|
|
||||||
|
{% include guide_intro.md %}
|
||||||
|
|
||||||
|
{% include guide_block_chain.md %}
|
||||||
|
|
||||||
|
{% include guide_transactions.md %}
|
||||||
|
|
||||||
|
{% include guide_contracts.md %}
|
||||||
|
|
||||||
|
{% include guide_wallets.md %}
|
||||||
|
|
||||||
|
{% include guide_payment_processing.md %}
|
||||||
|
|
||||||
|
{% include guide_operating_modes.md %}
|
||||||
|
|
||||||
|
{% include guide_p2p_network.md %}
|
||||||
|
|
||||||
|
{% include guide_mining.md %}
|
||||||
|
|
||||||
|
{% include references.md %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>updateToc();</script>
|
44
en/developer-reference.md
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
layout: base
|
||||||
|
lang: en
|
||||||
|
id: developer-reference
|
||||||
|
title: "Developer Reference - Bitcoin"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Bitcoin Developer Reference
|
||||||
|
|
||||||
|
<p class="summary">Find technical specifications and API documentation.</p>
|
||||||
|
|
||||||
|
<div markdown="1" id="toc" class="toc"><div markdown="1">
|
||||||
|
|
||||||
|
* Table of contents
|
||||||
|
{:toc}
|
||||||
|
|
||||||
|
<ul><li><a href="/en/developer-documentation">Return To Overview</a></li></ul>
|
||||||
|
|
||||||
|
</div></div>
|
||||||
|
<div markdown="1" class="toccontent">
|
||||||
|
|
||||||
|
{% include ref_block_chain.md %}
|
||||||
|
{% include ref_transactions.md %}
|
||||||
|
{% include ref_wallets.md %}
|
||||||
|
{% include ref_payment_processing.md %}
|
||||||
|
|
||||||
|
## Bitcoin Core APIs
|
||||||
|
|
||||||
|
<!-- TODO, Relevant links:
|
||||||
|
-- * https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list
|
||||||
|
-- * https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)
|
||||||
|
-->
|
||||||
|
|
||||||
|
### Remote Procedure Calls (RPCs)
|
||||||
|
|
||||||
|
{% include ref_core_rpcs-abcdefg.md %}
|
||||||
|
{% include ref_core_rpcs-hijklmn.md %}
|
||||||
|
{% include ref_core_rpcs-opqrst.md %}
|
||||||
|
{% include ref_core_rpcs-uvwxyz.md %}
|
||||||
|
{% include references.md %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>updateToc();</script>
|
36
img/dev/README
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
The images are generated using dot from the graphviz package. For
|
||||||
|
assistance with these files, feel free to contact dave@dtrt.org.
|
||||||
|
|
||||||
|
The following examples generate a .png or .svg file from a .dot file:
|
||||||
|
|
||||||
|
dot -T svg file.dot -o file.svg
|
||||||
|
dot -T png file.dot -o file.png
|
||||||
|
|
||||||
|
You can change a .circo or .neato file into a .png or .svg using
|
||||||
|
corresponding commands:
|
||||||
|
|
||||||
|
circo -T svg file.circo -o file.svg
|
||||||
|
neato -T png file.neato -o file.png
|
||||||
|
|
||||||
|
Notice: Graphviz can be inconsistent across versions. All of the SVG and
|
||||||
|
PNG images here were generated using graphviz version 2.26.3
|
||||||
|
(20100126.1600) on Debian 7 using the following shell loop:
|
||||||
|
|
||||||
|
fn="fontname=Sans"
|
||||||
|
for f in *dot
|
||||||
|
do
|
||||||
|
dot -N$fn -G$fn -E$fn -o ${f/.dot}.svg -T svg $f
|
||||||
|
dot -N$fn -G$fn -E$fn -o ${f/.dot}.png -T png $f
|
||||||
|
optipng -o7 ${f/.dot}.png
|
||||||
|
done
|
||||||
|
|
||||||
|
For improved compatability between Graphviz versions, files created or
|
||||||
|
updated after 6 May 2014 are recommend to include the following code
|
||||||
|
near the top of the file:
|
||||||
|
|
||||||
|
edge [ fontname="Sans" ]
|
||||||
|
node [ fontname="Sans" ]
|
||||||
|
graph [ fontname="Sans" ]
|
||||||
|
|
||||||
|
Also, splines=ortho should not be used in new or updated files until
|
||||||
|
Graphviz fixes its post-2.26.3 ortho code.
|
BIN
img/ico_bill.png
Normal file
After Width: | Height: | Size: 609 B |
92
img/ico_bill.svg
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
id="svg2986"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="ico_bill.svg"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/ico_bill.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
|
<defs
|
||||||
|
id="defs2988" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="15.556349"
|
||||||
|
inkscape:cx="5.630998"
|
||||||
|
inkscape:cy="15.582597"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:window-width="1615"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2991">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(0,-32)">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.86755228;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 6.3747822,35.311643 0,25.524577 19.6750298,0.04213 0.0839,-18.640785 -6.768836,-6.925912 z"
|
||||||
|
id="path3865"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.50895405;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 26.133714,42.080327 -6.70688,-0.02001 0.07609,-6.706561 z"
|
||||||
|
id="path3871"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.8579905;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 10.328672,47.405107 11.727977,-0.0083"
|
||||||
|
id="path2984"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.8579905;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 10.311741,52.964123 11.745051,-0.0083"
|
||||||
|
id="path2984-9"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.84829307;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 10.349325,40.529336 5.312759,-0.01798"
|
||||||
|
id="path2984-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.4 KiB |
BIN
img/ico_blockchain.png
Normal file
After Width: | Height: | Size: 583 B |
115
img/ico_blockchain.svg
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="ico_blockchain.svg"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/ico_blockchain.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="32.000001"
|
||||||
|
inkscape:cx="15.829157"
|
||||||
|
inkscape:cy="8.4474503"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1615"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Calque 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1020.3622)">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.75850439px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 8.0830584,1027.6484 -0.023483,6.127"
|
||||||
|
id="path3883-4-2"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.75850439px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 8.0830584,1038.9439 -0.023469,6.1271"
|
||||||
|
id="path3883-4-7"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1"
|
||||||
|
id="rect3771-9-4"
|
||||||
|
width="12.374722"
|
||||||
|
height="7.3057456"
|
||||||
|
x="1.8275509"
|
||||||
|
y="1022.1236"
|
||||||
|
ry="1.0920867" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1"
|
||||||
|
id="rect3771-9-0"
|
||||||
|
width="12.374722"
|
||||||
|
height="7.3057456"
|
||||||
|
x="1.8447521"
|
||||||
|
y="1032.6949"
|
||||||
|
ry="1.0920867" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1"
|
||||||
|
id="rect3771-9-41"
|
||||||
|
width="12.374722"
|
||||||
|
height="7.3057456"
|
||||||
|
x="1.8619542"
|
||||||
|
y="1043.4429"
|
||||||
|
ry="1.0920867" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1"
|
||||||
|
id="rect3771-9-2"
|
||||||
|
width="12.374722"
|
||||||
|
height="7.3057456"
|
||||||
|
x="18.14599"
|
||||||
|
y="1032.6951"
|
||||||
|
ry="1.0920867" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.76282334px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||||
|
d="m 24.575573,1038.8063 -0.01916,7.5324"
|
||||||
|
id="path3883-4-5-3"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2.76077318;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 11.606949,1047.1783 14.33058,0.016"
|
||||||
|
id="path3883-4-5-3-5"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.6 KiB |
BIN
img/ico_contract.png
Normal file
After Width: | Height: | Size: 725 B |
115
img/ico_contract.svg
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
id="svg2986"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="ico_contract.svg"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/ico_contract.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
|
<defs
|
||||||
|
id="defs2988" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="22"
|
||||||
|
inkscape:cx="19.639445"
|
||||||
|
inkscape:cy="19.423412"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:window-width="1615"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2991">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(0,-32)">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.29870129;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect3884"
|
||||||
|
width="8.4285717"
|
||||||
|
height="7.940968"
|
||||||
|
x="2.1571496"
|
||||||
|
y="44.135647" />
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.29870129;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect3884-3"
|
||||||
|
width="8.4285717"
|
||||||
|
height="7.940968"
|
||||||
|
x="20.696697"
|
||||||
|
y="53.395046" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:2.29870128999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect3884-2"
|
||||||
|
width="8.4285717"
|
||||||
|
height="7.940968"
|
||||||
|
x="20.702213"
|
||||||
|
y="34.81461" />
|
||||||
|
<g
|
||||||
|
id="g3936"
|
||||||
|
transform="matrix(1,0,0,-1,0.86781288,75.59288)">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3911-6"
|
||||||
|
d="m 5.5036122,34.77227 -0.00746,4.350428 8.9995408,0"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3913-6"
|
||||||
|
d="m 11.649713,42.130992 2.740138,-3.021608 -2.72259,-3.101489"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g3936-9"
|
||||||
|
transform="translate(0.87493869,20.557735)">
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3911-6-2"
|
||||||
|
d="m 5.5036122,34.77227 -0.00746,4.350428 8.9995408,0"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
sodipodi:nodetypes="ccc"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path3913-6-0"
|
||||||
|
d="m 11.649713,42.130992 2.740138,-3.021608 -2.72259,-3.101489"
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 4.1 KiB |
BIN
img/main_ico_guide.png
Normal file
After Width: | Height: | Size: 677 B |
95
img/main_ico_guide.svg
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="48"
|
||||||
|
height="48"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="main_ico_guide.svg"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/main_ico_guide.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
|
<defs
|
||||||
|
id="defs4" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="11.313709"
|
||||||
|
inkscape:cx="3.38338"
|
||||||
|
inkscape:cy="18.062111"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1280"
|
||||||
|
inkscape:window-height="1000"
|
||||||
|
inkscape:window-x="1680"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Calque 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1004.3622)">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
id="rect4335"
|
||||||
|
width="30.286461"
|
||||||
|
height="36.420547"
|
||||||
|
x="11.046303"
|
||||||
|
y="1007.4249"
|
||||||
|
ry="1.4780247" />
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||||
|
id="rect4335-0"
|
||||||
|
width="30.286461"
|
||||||
|
height="36.420547"
|
||||||
|
x="8.4963093"
|
||||||
|
y="1010.0525"
|
||||||
|
ry="1.4780247" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
id="rect4335-0-5"
|
||||||
|
width="30.286461"
|
||||||
|
height="36.420547"
|
||||||
|
x="5.8852773"
|
||||||
|
y="1012.6344"
|
||||||
|
ry="1.4780247" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none"
|
||||||
|
d="m 14.048796,1009.7295 -3.859939,3.8922 -4.2289284,0.047 c 0,0 0.1549223,-1.2914 2.1679231,-3.5211 2.0130023,-2.2295 3.8762463,-2.6035 3.8762463,-2.6035 z"
|
||||||
|
id="path4375"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccczcc" />
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none"
|
||||||
|
d="m 15.252345,1011.5807 0.04642,15.4874 3.867588,-2.7487 3.740427,2.8119 -0.0675,-15.6055 z"
|
||||||
|
id="path4377"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.9 KiB |
BIN
img/mini_ico_back.png
Normal file
After Width: | Height: | Size: 543 B |
71
img/mini_ico_back.svg
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
id="svg2985"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/mini_ico_back.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
sodipodi:docname="mini_ico_back.svg">
|
||||||
|
<defs
|
||||||
|
id="defs2987" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="11.098901"
|
||||||
|
inkscape:cx="19.918075"
|
||||||
|
inkscape:cy="11.235742"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:window-width="1615"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2990">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#2c6fad;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="M 8.041008,1.4598337 11.667529,5.2109868 7.9945918,8.7991626"
|
||||||
|
id="path2995"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#2c6fad;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:2;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
d="m 9.6457128,5.0896984 -4.2662571,-6e-7 c -5.60747621,0.01886 -5.57311088,8.6571082 0.056507,8.6347562 l 1.5024653,5e-6"
|
||||||
|
id="path2997"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.4 KiB |
BIN
img/mini_ico_link.png
Normal file
After Width: | Height: | Size: 677 B |
73
img/mini_ico_link.svg
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16px"
|
||||||
|
height="16px"
|
||||||
|
id="svg2985"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.4 r9939"
|
||||||
|
sodipodi:docname="mini_ico_link.svg"
|
||||||
|
inkscape:export-filename="/media/X/bitcoin.org/current/img/mini_ico_link.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90">
|
||||||
|
<defs
|
||||||
|
id="defs2987" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="22.197802"
|
||||||
|
inkscape:cx="1.3342083"
|
||||||
|
inkscape:cy="17.987535"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:window-width="1615"
|
||||||
|
inkscape:window-height="1026"
|
||||||
|
inkscape:window-x="65"
|
||||||
|
inkscape:window-y="24"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata2990">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer">
|
||||||
|
<rect
|
||||||
|
style="fill:#2c6fad;fill-opacity:0;fill-rule:evenodd;stroke:#2c6fad;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||||
|
id="rect2993"
|
||||||
|
width="10.811881"
|
||||||
|
height="10.811881"
|
||||||
|
x="1.4866337"
|
||||||
|
y="3.2509902"
|
||||||
|
ry="1.8470297" />
|
||||||
|
<path
|
||||||
|
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2c6fad;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
d="M 8.563468,0.19785398 C 8.1290051,0.26495273 7.8341908,0.60084798 7.7215633,0.93873015 7.6089361,1.2766123 7.649985,1.7020113 7.9572966,2.0163682 L 8.8328775,2.9256251 5.1621733,6.3605961 C 4.7397897,6.767268 4.711073,7.3990336 5.094821,7.8423484 l 0,0.033675 2.6604186,2.8287996 c 0.4135514,0.467287 1.0965564,0.496983 1.5491048,0.06735 l 3.6707036,-3.4349722 1.010286,0.9766095 c 0.334627,0.3172934 0.803376,0.3075559 1.14499,0.1683812 0.341613,-0.1391747 0.655898,-0.4484522 0.673524,-0.9092566 l 0,-0.033675 -0.06735,-6.2637706 C 15.736437,0.6665883 15.267759,0.19791233 14.65886,0.19785136 l -6.0280385,0 -0.033675,0 z"
|
||||||
|
id="path3763"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="cscccccccccsccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.4 KiB |
128
js/main.js
|
@ -57,6 +57,42 @@ for(var i=0;i<4;i++){
|
||||||
return Math.max(0,a.offsetHeight-p[0]-p[2]);
|
return Math.max(0,a.offsetHeight-p[0]-p[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getLeft(a){
|
||||||
|
//Return the integer value of the computed distance between given node and the browser window.
|
||||||
|
//Ex. getLeft(node);
|
||||||
|
var b=a.offsetLeft;
|
||||||
|
while(a.offsetParent){a=a.offsetParent;b+=a.offsetLeft;}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getTop(a){
|
||||||
|
//Return the integer value of the computed distance between given node and the browser window.
|
||||||
|
//Ex. getTop(node);
|
||||||
|
var b=a.offsetTop;
|
||||||
|
while(a.offsetParent){a=a.offsetParent;b+=a.offsetTop;}
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPageYOffset(){
|
||||||
|
//Return the integer value for the vertical position of the scroll bar.
|
||||||
|
return (window.pageYOffset)?window.pageYOffset:document.documentElement.scrollTop;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPageXOffset(){
|
||||||
|
//Return the integer value for the horizontal position of the scroll bar.
|
||||||
|
return (window.pageXOffset)?window.pageXOffset:document.documentElement.scrollLeft;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getWindowY(){
|
||||||
|
//Return the integer value for the browser window height.
|
||||||
|
return (window.innerHeight)?window.innerHeight:document.documentElement.clientHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getWindowX(){
|
||||||
|
//Return the integer value for the browser window width.
|
||||||
|
return (window.innerWidth)?window.innerWidth:document.documentElement.clientWidth;
|
||||||
|
}
|
||||||
|
|
||||||
function supportsSVG(){
|
function supportsSVG(){
|
||||||
//Return true if the browser supports SVG.
|
//Return true if the browser supports SVG.
|
||||||
//Ex. if(!supportsSVG()){..apply png fallback..}
|
//Ex. if(!supportsSVG()){..apply png fallback..}
|
||||||
|
@ -233,6 +269,98 @@ for(var i=0,nds=document.getElementsByTagName('DIV'),n=nds.length;i<n;i++){
|
||||||
removeEvent(window,'scroll',mobileWHide);
|
removeEvent(window,'scroll',mobileWHide);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateToc(){
|
||||||
|
//Update table of content active entry and browser url on scroll
|
||||||
|
var pageoffset;
|
||||||
|
var windowy;
|
||||||
|
var toc;
|
||||||
|
var first;
|
||||||
|
var last;
|
||||||
|
var closer;
|
||||||
|
var init=function(){
|
||||||
|
setenv();
|
||||||
|
updatehistory();
|
||||||
|
updatetoc();
|
||||||
|
}
|
||||||
|
//Set variables
|
||||||
|
var setenv=function(){
|
||||||
|
pageoffset=getPageYOffset();
|
||||||
|
windowy=getWindowY();
|
||||||
|
toc=document.getElementById('toc');
|
||||||
|
fallback=document.getElementsByTagName('H2')[0];
|
||||||
|
first=[fallback,getTop(fallback)];
|
||||||
|
last=[fallback,getTop(fallback)];
|
||||||
|
closer=[fallback,getTop(fallback)];
|
||||||
|
//Find all titles
|
||||||
|
var nodes=[];
|
||||||
|
var tags=['H2','H3','H4','H5','H6'];
|
||||||
|
for(var i=0,n=tags.length;i<n;i++){
|
||||||
|
for(var ii=0,t=document.getElementsByTagName(tags[i]),nn=t.length;ii<nn;ii++)nodes.push(t[ii]);
|
||||||
|
}
|
||||||
|
//Find first title, last title and closer title
|
||||||
|
for(var i=0,n=nodes.length;i<n;i++){
|
||||||
|
if(!nodes[i].id)continue;
|
||||||
|
var top=getTop(nodes[i]);
|
||||||
|
if(top<first[1])first=[nodes[i],top];
|
||||||
|
if(top>last[1])last=[nodes[i],top];
|
||||||
|
if(top<pageoffset+10&&top>closer[1])closer=[nodes[i],top];
|
||||||
|
}
|
||||||
|
//Set closer title to first or last title if at the top or bottom of the page
|
||||||
|
if(pageoffset<first[1])closer=[first[0],first[1]];
|
||||||
|
if(windowy+pageoffset>=getHeight(document.body))closer=[last[0],last[1]];
|
||||||
|
}
|
||||||
|
//Update toc position and set active toc entry
|
||||||
|
var updatetoc=function(){
|
||||||
|
//Set bottom and top to fit within window and not overflow its parent node
|
||||||
|
var div=toc.getElementsByTagName('DIV')[0];
|
||||||
|
if(pageoffset>getTop(toc)){
|
||||||
|
div.className='scroll';
|
||||||
|
div.style.top='20px';
|
||||||
|
div.style.bottom=Math.max((pageoffset+windowy)-(getHeight(toc.parentNode)+getTop(toc.parentNode)),20)+'px';
|
||||||
|
}
|
||||||
|
else div.className='';
|
||||||
|
//Remove .active class from toc and find new active toc entry
|
||||||
|
var a=false;
|
||||||
|
for(var i=0,t=toc.getElementsByTagName('*'),n=t.length;i<n;i++){
|
||||||
|
if(t[i].className&&t[i].className.indexOf('active')!==-1)t[i].className='';
|
||||||
|
if(t[i].nodeName=='A'&&t[i].getAttribute('href')=='#'+closer[0].id)a=t[i];
|
||||||
|
}
|
||||||
|
if(a===false)return;
|
||||||
|
//Set .active class on new active toc entry
|
||||||
|
while(a.parentNode.nodeName=='LI'||a.parentNode.nodeName=='UL'){
|
||||||
|
a.className='active';
|
||||||
|
a=a.parentNode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Update browser url
|
||||||
|
var updatehistory=function(){
|
||||||
|
//Don't call window.history if not supported
|
||||||
|
if(!window.history||!window.history.replaceState)return;
|
||||||
|
//Don't update window url when it doesn't need to be updated
|
||||||
|
if(new RegExp('#'+closer[0].id+'$').test(window.location.href.toString()))return;
|
||||||
|
//Don't update window url when the window is over the first title in the page
|
||||||
|
if(pageoffset<first[1])return;
|
||||||
|
//Don't update window url when page is not loaded, or user just clicked a url
|
||||||
|
if(!toc.hasAttribute('data-timestamp')||toc.getAttribute('data-timestamp')>new Date().getTime()-1000)return;
|
||||||
|
window.history.replaceState(null,null,'#'+closer[0].id);
|
||||||
|
}
|
||||||
|
//Update the toc when the page stops scrolling
|
||||||
|
var evtimeout=function(){
|
||||||
|
toc=document.getElementById('toc');
|
||||||
|
clearTimeout(toc.getAttribute('data-timeout'));
|
||||||
|
toc.setAttribute('data-timeout',setTimeout(init,1));
|
||||||
|
}
|
||||||
|
//Reset timestamp on page load and each time the user clicks a url
|
||||||
|
var evtimestamp=function(){
|
||||||
|
toc=document.getElementById('toc');
|
||||||
|
document.getElementById('toc').setAttribute('data-timestamp',new Date().getTime());
|
||||||
|
}
|
||||||
|
addEvent(window,'scroll',evtimeout);
|
||||||
|
addEvent(window,'popstate',evtimestamp);
|
||||||
|
addEvent(window,'load',evtimestamp);
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
function makeEditable(e){
|
function makeEditable(e){
|
||||||
//An easter egg that makes the page editable when user click on the page and hold their mouse button for one second.
|
//An easter egg that makes the page editable when user click on the page and hold their mouse button for one second.
|
||||||
//This trick allows translators and writers to preview their work.
|
//This trick allows translators and writers to preview their work.
|
||||||
|
|