Update documentation to match 1.10 (#1436)
This commit is contained in:
parent
b154d2a457
commit
731b7a75c2
159
README.md
159
README.md
|
@ -1,53 +1,35 @@
|
|||
Bitcoin Core integration/staging tree
|
||||
=====================================
|
||||
# Dogecoin Core [DOGE, Ð]
|
||||
==========================
|
||||
|
||||
[![Build Status](https://travis-ci.org/bitcoin/bitcoin.svg?branch=master)](https://travis-ci.org/bitcoin/bitcoin)
|
||||
![Dogecoin](http://static.tumblr.com/ppdj5y9/Ae9mxmxtp/300coin.png)
|
||||
|
||||
https://bitcoincore.org
|
||||
[![Build Status](https://travis-ci.org/dogecoin/dogecoin.svg?branch=1.14-dev)](https://travis-ci.org/dogecoin/dogecoin) [![tip for next commit](https://tip4commit.com/projects/702.svg)](https://tip4commit.com/github/dogecoin/dogecoin)
|
||||
|
||||
What is Bitcoin?
|
||||
----------------
|
||||
## What is Dogecoin? – Such coin
|
||||
Dogecoin is a cryptocurrency like Bitcoin, although it does not use SHA256 as its proof of work (POW). Taking development cues from Tenebrix and Litecoin, Dogecoin currently employs a simplified variant of scrypt.
|
||||
|
||||
Bitcoin is an experimental digital currency that enables instant payments to
|
||||
anyone, anywhere in the world. Bitcoin uses peer-to-peer technology to operate
|
||||
with no central authority: managing transactions and issuing money are carried
|
||||
out collectively by the network. Bitcoin Core is the name of open source
|
||||
software which enables the use of this currency.
|
||||
http://dogecoin.com/
|
||||
|
||||
For more information, as well as an immediately useable, binary version of
|
||||
the Bitcoin Core software, see https://bitcoin.org/en/download, or read the
|
||||
[original whitepaper](https://bitcoincore.org/bitcoin.pdf).
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
Bitcoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
|
||||
## License – Much license
|
||||
Dogecoin Core is released under the terms of the MIT license. See [COPYING](COPYING) for more
|
||||
information or see https://opensource.org/licenses/MIT.
|
||||
|
||||
Development Process
|
||||
-------------------
|
||||
## Development and contributions – omg developers
|
||||
Development is ongoing, and the development team, as well as other volunteers, can freely work in their own trees and submit pull requests when features or bug fixes are ready.
|
||||
|
||||
The `master` branch is regularly built and tested, but is not guaranteed to be
|
||||
completely stable. [Tags](https://github.com/bitcoin/bitcoin/tags) are created
|
||||
regularly to indicate new official, stable release versions of Bitcoin Core.
|
||||
#### Version strategy
|
||||
Version numbers are following ```major.minor.patch``` semantics.
|
||||
|
||||
The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
#### Branches
|
||||
There are 3 types of branches in this repository:
|
||||
|
||||
The developer [mailing list](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev)
|
||||
should be used to discuss complicated or controversial changes before working
|
||||
on a patch set.
|
||||
- **master:** Stable, contains the latest version of the latest *major.minor* release.
|
||||
- **maintenance:** Stable, contains the latest version of previous releases, which are still under active maintenance. Format: ```<version>-maint```
|
||||
- **development:** Unstable, contains new code for planned releases. Format: ```<version>-dev```
|
||||
|
||||
Developer IRC can be found on Freenode at #bitcoin-core-dev.
|
||||
*Master and maintenance branches are exclusively mutable by release. Planned releases will always have a development branch and pull requests should be submitted against those. Maintenance branches are there for* ***bug fixes only,*** *please submit new features against the development branch with the highest version.*
|
||||
|
||||
Testing
|
||||
-------
|
||||
|
||||
Testing and code review is the bottleneck for development; we get more pull
|
||||
requests than we can review and test on short notice. Please be patient and help out by testing
|
||||
other people's pull requests, and remember this is a security-critical project where any mistake might cost people
|
||||
lots of money.
|
||||
|
||||
### Automated Testing
|
||||
#### Contributions
|
||||
|
||||
Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to
|
||||
submit new unit tests for old code. Unit tests can be compiled and run
|
||||
|
@ -58,25 +40,100 @@ There are also [regression and integration tests](/qa) of the RPC interface, wri
|
|||
in Python, that are run automatically on the build server.
|
||||
These tests can be run (if the [test dependencies](/qa) are installed) with: `qa/pull-tester/rpc-tests.py`
|
||||
|
||||
The Travis CI system makes sure that every pull request is built for Windows, Linux, and OS X, and that unit/sanity tests are run automatically.
|
||||
|
||||
### Manual Quality Assurance (QA) Testing
|
||||
|
||||
Changes should be tested by somebody other than the developer who wrote the
|
||||
code. This is especially important for large or high-risk changes. It is useful
|
||||
to add a test plan to the pull request description if testing the changes is
|
||||
not straightforward.
|
||||
|
||||
Translations
|
||||
------------
|
||||
## Very Much Frequently Asked Questions
|
||||
|
||||
Changes to translations as well as new translations can be submitted to
|
||||
[Bitcoin Core's Transifex page](https://www.transifex.com/projects/p/bitcoin/).
|
||||
### How much doge can exist? – So many puppies!
|
||||
Early 2015 (approximately a year and a half after release) there will be approximately 100,000,000,000 coins.
|
||||
Each subsequent block will grant 10,000 coins to encourage miners to continue to secure the network and make up for lost wallets on hard drives/phones/lost encryption passwords/etc.
|
||||
|
||||
Translations are periodically pulled from Transifex and merged into the git repository. See the
|
||||
[translation process](doc/translation_process.md) for details on how this works.
|
||||
### How to get doge? – To the moon!
|
||||
Dogecoin uses a simplified variant of the scrypt key derivation function as its proof of work with a target time of one minute per block and difficulty readjustment after every block. The block rewards are fixed and halve every 100,000 blocks. Starting with the 600,000th block, a permanent reward of 10,000 Dogecoin per block will be paid.
|
||||
|
||||
**Important**: We do not accept translation changes as GitHub pull requests because the next
|
||||
pull from Transifex would automatically overwrite them again.
|
||||
Originally, a different payout scheme was envisioned with block rewards being determined by taking the maximum reward as per the block schedule and applying the result of a Mersenne Twister pseudo-random number generator to arrive at a number between 0 and the maximum reward. This was changed, starting with block 145,000, to prevent large pools from gaming the system and mining only high reward blocks. At the same time, the difficulty retargeting was also changed from four hours to once per block (every minute), implementing an algorithm courtesy of the DigiByte Coin development team, to lessen the impact of sudden increases and decreases of network hashing rate.
|
||||
|
||||
Translators should also subscribe to the [mailing list](https://groups.google.com/forum/#!forum/bitcoin-translators).
|
||||
The current block reward schedule:
|
||||
|
||||
1–99,999: 0–1,000,000 Dogecoin
|
||||
|
||||
100,000–144,999: 0–500,000 Dogecoin
|
||||
|
||||
145,000–199,999: 250,000 Dogecoin
|
||||
|
||||
200,000–299,999: 125,000 Dogecoin
|
||||
|
||||
300,000–399,999: 62,500 Dogecoin
|
||||
|
||||
400,000–499,999: 31,250 Dogecoin
|
||||
|
||||
500,000–599,999: 15,625 Dogecoin
|
||||
|
||||
600,000+: 10,000 Dogecoin
|
||||
|
||||
The original block reward schedule, with one-minute block targets and four-hour difficulty readjustment:
|
||||
|
||||
1–99,999: 0–1,000,000 Dogecoin
|
||||
|
||||
100,000–199,999: 0–500,000 Dogecoin
|
||||
|
||||
200,000–299,999: 0–250,000 Dogecoin
|
||||
|
||||
300,000–399,999: 0–125,000 Dogecoin
|
||||
|
||||
400,000–499,999: 0–62,500 Dogecoin
|
||||
|
||||
500,000–599,999: 0–31,250 Dogecoin
|
||||
|
||||
600,000+: 10,000 Dogecoin
|
||||
|
||||
### Wow plz make dogecoind/dogecoin-cli/dogecoin-qt
|
||||
|
||||
The following are developer notes on how to build Dogecoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
|
||||
|
||||
- [OSX Build Notes](doc/build-osx.md)
|
||||
- [Unix Build Notes](doc/build-unix.md)
|
||||
- [Windows Build Notes](doc/build-msw.md)
|
||||
|
||||
### Such ports
|
||||
RPC 22555
|
||||
P2P 22556
|
||||
|
||||
![](http://dogesay.com/wow//////such/coin)
|
||||
|
||||
## Development tips and tricks
|
||||
|
||||
**compiling for debugging**
|
||||
|
||||
Run configure with the --enable-debug option, then make. Or run configure with
|
||||
CXXFLAGS="-g -ggdb -O0" or whatever debug flags you need.
|
||||
|
||||
**debug.log**
|
||||
|
||||
If the code is behaving strangely, take a look in the debug.log file in the data directory;
|
||||
error and debugging messages are written there.
|
||||
|
||||
The -debug=... command-line option controls debugging; running with just -debug will turn
|
||||
on all categories (and give you a very large debug.log file).
|
||||
|
||||
The Qt code routes qDebug() output to debug.log under category "qt": run with -debug=qt
|
||||
to see it.
|
||||
|
||||
**testnet and regtest modes**
|
||||
|
||||
Run with the -testnet option to run with "play dogecoins" on the test network, if you
|
||||
are testing multi-machine code that needs to operate across the internet.
|
||||
|
||||
If you are testing something that can run on one machine, run with the -regtest option.
|
||||
In regression test mode, blocks can be created on-demand; see qa/rpc-tests/ for tests
|
||||
that run in -regtest mode.
|
||||
|
||||
**DEBUG_LOCKORDER**
|
||||
|
||||
Dogecoin Core is a multithreaded application, and deadlocks or other multithreading bugs
|
||||
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
|
||||
CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks
|
||||
are held, and adds warnings to the debug.log file if inconsistencies are detected.
|
||||
|
|
|
@ -32,13 +32,13 @@ DOXYFILE_ENCODING = UTF-8
|
|||
# title of most generated pages and in a few other places.
|
||||
# The default value is: My Project.
|
||||
|
||||
PROJECT_NAME = "Bitcoin Core"
|
||||
PROJECT_NAME = "Dogecoin Core"
|
||||
|
||||
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 0.14.2
|
||||
PROJECT_NUMBER = 1.14.2
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -1,41 +1,39 @@
|
|||
Bitcoin Core 0.14.2
|
||||
Dogecoin Core 0.14.2
|
||||
=====================
|
||||
|
||||
Setup
|
||||
---------------------
|
||||
Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
|
||||
|
||||
To download Bitcoin Core, visit [bitcoincore.org](https://bitcoincore.org/en/releases/).
|
||||
[Dogecoin Core](http://dogecoin.com/) is the reference Dogecoin client and it builds the backbone of the network. However, it downloads and stores the entire history of Bitcoin transactions (which is currently several GBs); depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
|
||||
|
||||
Running
|
||||
---------------------
|
||||
The following are some helpful notes on how to run Bitcoin on your native platform.
|
||||
The following are some helpful notes on how to run Dogecoin on your native platform.
|
||||
|
||||
### Unix
|
||||
|
||||
Unpack the files into a directory and run:
|
||||
|
||||
- `bin/bitcoin-qt` (GUI) or
|
||||
- `bin/bitcoind` (headless)
|
||||
- `bin/dogecoin-qt` (GUI) or
|
||||
- `bin/dogecoind` (headless)
|
||||
|
||||
### Windows
|
||||
|
||||
Unpack the files into a directory, and then run bitcoin-qt.exe.
|
||||
Unpack the files into a directory, and then run dogecoin-qt.exe.
|
||||
|
||||
### OS X
|
||||
|
||||
Drag Bitcoin-Core to your applications folder, and then run Bitcoin-Core.
|
||||
Drag Dogecoin-Core to your applications folder, and then run Dogecoin-Core.
|
||||
|
||||
### Need Help?
|
||||
|
||||
* See the documentation at the [Bitcoin Wiki](https://en.bitcoin.it/wiki/Main_Page)
|
||||
for help and more information.
|
||||
* Ask for help on [#bitcoin](http://webchat.freenode.net?channels=bitcoin) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=bitcoin).
|
||||
* Ask for help on the [BitcoinTalk](https://bitcointalk.org/) forums, in the [Technical Support board](https://bitcointalk.org/index.php?board=4.0).
|
||||
* Ask for help on [#dogecoin](http://webchat.freenode.net?channels=dogecoin) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=dogecoin).
|
||||
* Ask for help on the [BitcoinTalk](https://bitcointalk.org/) forums, in the [Dogecoin thread](https://bitcointalk.org/index.php?topic=361813.0).
|
||||
|
||||
Building
|
||||
---------------------
|
||||
The following are developer notes on how to build Bitcoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
|
||||
The following are developer notes on how to build Dogecoin on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
|
||||
|
||||
- [OS X Build Notes](build-osx.md)
|
||||
- [Unix Build Notes](build-unix.md)
|
||||
|
@ -45,12 +43,11 @@ The following are developer notes on how to build Bitcoin on your native platfor
|
|||
|
||||
Development
|
||||
---------------------
|
||||
The Bitcoin repo's [root README](/README.md) contains relevant information on the development process and automated testing.
|
||||
The Dogecoin repo's [root README](/README.md) contains relevant information on the development process and automated testing.
|
||||
|
||||
- [Developer Notes](developer-notes.md)
|
||||
- [Release Notes](release-notes.md)
|
||||
- [Release Process](release-process.md)
|
||||
- [Source Code Documentation (External Link)](https://dev.visucore.com/bitcoin/doxygen/)
|
||||
- [Translation Process](translation_process.md)
|
||||
- [Translation Strings Policy](translation_strings_policy.md)
|
||||
- [Travis CI](travis-ci.md)
|
||||
|
@ -61,9 +58,8 @@ The Bitcoin repo's [root README](/README.md) contains relevant information on th
|
|||
- [Benchmarking](benchmarking.md)
|
||||
|
||||
### Resources
|
||||
* Discuss on the [BitcoinTalk](https://bitcointalk.org/) forums, in the [Development & Technical Discussion board](https://bitcointalk.org/index.php?board=6.0).
|
||||
* Discuss project-specific development on #bitcoin-core-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=bitcoin-core-dev).
|
||||
* Discuss general Bitcoin development on #bitcoin-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=bitcoin-dev).
|
||||
* Discuss on the [BitcoinTalk](https://bitcointalk.org/) forums, in the [Dogecoin thread](https://bitcointalk.org/index.php?topic=361813.0).
|
||||
* Discuss on [#dogecoin-dev](http://webchat.freenode.net/?channels=dogecoin-dev) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=dogecoin-dev).
|
||||
|
||||
### Miscellaneous
|
||||
- [Assets Attribution](assets-attribution.md)
|
||||
|
@ -77,5 +73,6 @@ The Bitcoin repo's [root README](/README.md) contains relevant information on th
|
|||
License
|
||||
---------------------
|
||||
Distributed under the [MIT software license](/COPYING).
|
||||
This product includes software developed by the Bitcoin developers for use in [Dogecoin Core](https://www.bitcoin.org/).
|
||||
This product includes software developed by the OpenSSL Project for use in the [OpenSSL Toolkit](https://www.openssl.org/). This product includes
|
||||
cryptographic software written by Eric Young ([eay@cryptsoft.com](mailto:eay@cryptsoft.com)), and UPnP software written by Thomas Bernard.
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Bitcoin Core 0.14.2
|
||||
Dogecoin Core 0.14.2
|
||||
=====================
|
||||
|
||||
Intro
|
||||
-----
|
||||
Bitcoin is a free open source peer-to-peer electronic cash system that is
|
||||
Dogecoin is a free open source peer-to-peer electronic cash system that is
|
||||
completely decentralized, without the need for a central server or trusted
|
||||
parties. Users hold the crypto keys to their own money and transact directly
|
||||
with each other, with the help of a P2P network to check for double-spending.
|
||||
|
@ -11,13 +11,13 @@ with each other, with the help of a P2P network to check for double-spending.
|
|||
|
||||
Setup
|
||||
-----
|
||||
Unpack the files into a directory and run bitcoin-qt.exe.
|
||||
Unpack the files into a directory and run dogecoin-qt.exe.
|
||||
|
||||
Bitcoin Core is the original Bitcoin client and it builds the backbone of the network.
|
||||
However, it downloads and stores the entire history of Bitcoin transactions;
|
||||
Dogecoin Core is the original Dogecoin client and it builds the backbone of the network.
|
||||
However, it downloads and stores the entire history of Dogecoin transactions;
|
||||
depending on the speed of your computer and network connection, the synchronization
|
||||
process can take anywhere from a few hours to a day or more.
|
||||
|
||||
See the bitcoin wiki at:
|
||||
https://en.bitcoin.it/wiki/Main_Page
|
||||
See the Dogecoin wiki at:
|
||||
https://www.reddit.com/r/dogecoin/wiki/dogecoincoreguide
|
||||
for more help and information.
|
||||
|
|
|
@ -95,4 +95,4 @@ Only supports JSON as output format.
|
|||
|
||||
Risks
|
||||
-------------
|
||||
Running a web browser on the same node with a REST enabled bitcoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:8332/rest/tx/1234567890.json">` which might break the nodes privacy.
|
||||
Running a web browser on the same node with a REST enabled dogecoind can be a risk. Accessing prepared XSS websites could read out tx/block data of your node by placing links like `<script src="http://127.0.0.1:8332/rest/tx/1234567890.json">` which might break the nodes privacy.
|
|
@ -1 +1,67 @@
|
|||
The list of assets used in the bitcoin source and their attribution can now be found in [contrib/debian/copyright](../contrib/debian/copyright).
|
||||
The following is a list of assets used in the dogecoin source and their proper attribution.
|
||||
|
||||
[Typicons/Stephen Hutchings](http://typicons.com)
|
||||
-----------------------
|
||||
|
||||
### Info
|
||||
* Icon Pack: Typicons (http://typicons.com)
|
||||
* Designer: Stephen Hutchings (and more)
|
||||
* License: MIT
|
||||
* Site: [https://github.com/stephenhutchings/typicons.font](https://github.com/stephenhutchings/typicons.font)
|
||||
|
||||
### Assets Used
|
||||
src/qt/res/icons/add.png
|
||||
src/qt/res/icons/address-book.png,
|
||||
src/qt/res/icons/configure.png
|
||||
src/qt/res/icons/debugwindow.png
|
||||
src/qt/res/icons/edit.png,
|
||||
src/qt/res/icons/exitcopy.png
|
||||
src/qt/res/icons/editpaste.png,
|
||||
src/qt/res/icons/export.png
|
||||
src/qt/res/icons/eye.png,
|
||||
src/qt/res/icons/filesave.png
|
||||
src/qt/res/icons/history.png,
|
||||
src/qt/res/icons/info.png
|
||||
src/qt/res/icons/key.png,
|
||||
src/qt/res/icons/lock_*.png
|
||||
src/qt/res/icons/open.png,
|
||||
src/qt/res/icons/overview.png
|
||||
src/qt/res/icons/quit.png,
|
||||
src/qt/res/icons/receive.png
|
||||
src/qt/res/icons/remove.png,
|
||||
src/qt/res/icons/send.png
|
||||
src/qt/res/icons/synced.png,
|
||||
src/qt/res/icons/transaction*.png
|
||||
src/qt/res/icons/tx_output.png,
|
||||
src/qt/res/icons/warning.png
|
||||
|
||||
Other
|
||||
-----------------------
|
||||
|
||||
### Info
|
||||
* Designer: Jonas Schnelli, Bitboy, Stephen Hutchings, Marco Falke
|
||||
* Dogecoin Icon: Based on the original Dogecoin logo from Christine Ricks
|
||||
* Network connection icon: Inspired by flow-merge.svg from Stephen Hutchings
|
||||
* Some icons are based on Stephan Hutchings Typicons
|
||||
* License: MIT
|
||||
|
||||
### Assets Used
|
||||
src/qt/res/icons/about.png
|
||||
src/qt/res/icons/about_qt.png,
|
||||
src/qt/res/icons/bitcoin.icns
|
||||
src/qt/res/icons/bitcoin.ico,
|
||||
src/qt/res/icons/bitcoin.png
|
||||
src/qt/res/icons/clock*.png,
|
||||
src/qt/res/icons/connect*.png
|
||||
src/qt/res/icons/eye_minus.png,
|
||||
src/qt/res/icons/eye_plus.png
|
||||
src/qt/res/icons/verify.png,
|
||||
src/qt/res/icons/tx_inout.png
|
||||
src/qt/res/icons/tx_input.png,
|
||||
src/qt/res/src/bitcoin.svg,
|
||||
src/qt/res/src/clock*.svg
|
||||
src/qt/res/src/connect*.svg,
|
||||
src/qt/res/src/mine.svg
|
||||
src/qt/res/src/qt.svg
|
||||
src/qt/res/src/tx*.svg,
|
||||
src/qt/res/src/verify.svg
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
Benchmarking
|
||||
============
|
||||
|
||||
Bitcoin Core has an internal benchmarking framework, with benchmarks
|
||||
Dogecoin Core has an internal benchmarking framework, with benchmarks
|
||||
for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter.
|
||||
|
||||
After compiling bitcoin-core, the benchmarks can be run with:
|
||||
`src/bench/bench_bitcoin`
|
||||
After compiling dogecoin-core, the benchmarks can be run with:
|
||||
`src/bench/bench_dogecoin`
|
||||
|
||||
The output will look similar to:
|
||||
```
|
||||
|
|
|
@ -2,7 +2,7 @@ OpenBSD build guide
|
|||
======================
|
||||
(updated for OpenBSD 6.0)
|
||||
|
||||
This guide describes how to build bitcoind and command-line utilities on OpenBSD.
|
||||
This guide describes how to build dogecoind and command-line utilities on OpenBSD.
|
||||
|
||||
As OpenBSD is most common as a server OS, we will not bother with the GUI.
|
||||
|
||||
|
@ -35,14 +35,14 @@ This compiler will not overwrite the system compiler, it will be installed as `e
|
|||
|
||||
Do not use `pkg_add boost`! The boost version installed thus is compiled using the `g++` compiler not `eg++`, which will result in a conflict between `/usr/local/lib/libestdc++.so.XX.0` and `/usr/lib/libstdc++.so.XX.0`, resulting in a test crash:
|
||||
|
||||
test_bitcoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
|
||||
test_dogecoin:/usr/lib/libstdc++.so.57.0: /usr/local/lib/libestdc++.so.17.0 : WARNING: symbol(_ZN11__gnu_debug17_S_debug_me ssagesE) size mismatch, relink your program
|
||||
...
|
||||
Segmentation fault (core dumped)
|
||||
|
||||
This makes it necessary to build boost, or at least the parts used by Bitcoin Core, manually:
|
||||
|
||||
```
|
||||
# Pick some path to install boost to, here we create a directory within the bitcoin directory
|
||||
# Pick some path to install boost to, here we create a directory within the dogecoin directory
|
||||
BITCOIN_ROOT=$(pwd)
|
||||
BOOST_PREFIX="${BITCOIN_ROOT}/boost"
|
||||
mkdir -p $BOOST_PREFIX
|
||||
|
@ -58,7 +58,7 @@ cd boost_1_61_0
|
|||
# Also here: https://gist.githubusercontent.com/laanwj/bf359281dc319b8ff2e1/raw/92250de8404b97bb99d72ab898f4a8cb35ae1ea3/patch-boost_test_impl_execution_monitor_ipp.patch
|
||||
patch -p0 < /usr/ports/devel/boost/patches/patch-boost_test_impl_execution_monitor_ipp
|
||||
|
||||
# Build w/ minimum configuration necessary for bitcoin
|
||||
# Build w/ minimum configuration necessary for dogecoin
|
||||
echo 'using gcc : : eg++ : <cxxflags>"-fvisibility=hidden -fPIC" <linkflags>"" <archiver>"ar" <striper>"strip" <ranlib>"ranlib" <rc>"" : ;' > user-config.jam
|
||||
config_opts="runtime-link=shared threadapi=pthread threading=multi link=static variant=release --layout=tagged --build-type=complete --user-config=user-config.jam -sNO_BZIP2=1"
|
||||
./bootstrap.sh --without-icu --with-libraries=chrono,filesystem,program_options,system,thread,test
|
||||
|
@ -74,7 +74,7 @@ See "Berkeley DB" in [build_unix.md](build_unix.md) for instructions on how to b
|
|||
You cannot use the BerkeleyDB library from ports, for the same reason as boost above (g++/libstd++ incompatibility).
|
||||
|
||||
```bash
|
||||
# Pick some path to install BDB to, here we create a directory within the bitcoin directory
|
||||
# Pick some path to install BDB to, here we create a directory within the dogecoin directory
|
||||
BITCOIN_ROOT=$(pwd)
|
||||
BDB_PREFIX="${BITCOIN_ROOT}/db4"
|
||||
mkdir -p $BDB_PREFIX
|
||||
|
|
|
@ -25,17 +25,17 @@ If you want to build the disk image with `make deploy` (.dmg / optional), you ne
|
|||
|
||||
NOTE: Building with Qt4 is still supported, however, could result in a broken UI. Building with Qt5 is recommended.
|
||||
|
||||
Build Bitcoin Core
|
||||
Build Dogecoin Core
|
||||
------------------------
|
||||
|
||||
1. Clone the bitcoin source code and cd into `bitcoin`
|
||||
1. Clone the dogecoin source code and cd into `dogecoin`
|
||||
|
||||
git clone https://github.com/bitcoin/bitcoin
|
||||
cd bitcoin
|
||||
git clone https://github.com/dogecoin/dogecoin
|
||||
cd dogecoin
|
||||
|
||||
2. Build bitcoin-core:
|
||||
2. Build dogecoin:
|
||||
|
||||
Configure and build the headless bitcoin binaries as well as the GUI (if Qt is found).
|
||||
Configure and build the headless dogecoin binaries as well as the GUI (if Qt is found).
|
||||
|
||||
You can disable the GUI build by passing `--without-gui` to configure.
|
||||
|
||||
|
@ -54,37 +54,37 @@ Build Bitcoin Core
|
|||
Running
|
||||
-------
|
||||
|
||||
Bitcoin Core is now available at `./src/bitcoind`
|
||||
Dogecoin Core is now available at `./src/dogecoind`
|
||||
|
||||
Before running, it's recommended you create an RPC configuration file.
|
||||
|
||||
echo -e "rpcuser=bitcoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
|
||||
echo -e "rpcuser=dogecoinrpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Dogecoin/dogecoin.conf"
|
||||
|
||||
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
|
||||
chmod 600 "/Users/${USER}/Library/Application Support/Dogecoin/dogecoin.conf"
|
||||
|
||||
The first time you run bitcoind, it will start downloading the blockchain. This process could take several hours.
|
||||
The first time you run dogecoind, it will start downloading the blockchain. This process could take several hours.
|
||||
|
||||
You can monitor the download process by looking at the debug.log file:
|
||||
|
||||
tail -f $HOME/Library/Application\ Support/Bitcoin/debug.log
|
||||
tail -f $HOME/Library/Application\ Support/Dogecoin/debug.log
|
||||
|
||||
Other commands:
|
||||
-------
|
||||
|
||||
./src/bitcoind -daemon # Starts the bitcoin daemon.
|
||||
./src/bitcoin-cli --help # Outputs a list of command-line options.
|
||||
./src/bitcoin-cli help # Outputs a list of RPC commands when the daemon is running.
|
||||
./src/dogecoind -daemon # Starts the dogecoin daemon.
|
||||
./src/dogecoin-cli --help # Outputs a list of command-line options.
|
||||
./src/dogecoin-cli help # Outputs a list of RPC commands when the daemon is running.
|
||||
|
||||
Using Qt Creator as IDE
|
||||
------------------------
|
||||
You can use Qt Creator as an IDE, for bitcoin development.
|
||||
You can use Qt Creator as an IDE, for dogecoin development.
|
||||
Download and install the community edition of [Qt Creator](https://www.qt.io/download/).
|
||||
Uncheck everything except Qt Creator during the installation process.
|
||||
|
||||
1. Make sure you installed everything through Homebrew mentioned above
|
||||
2. Do a proper ./configure --enable-debug
|
||||
3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project
|
||||
4. Enter "bitcoin-qt" as project name, enter src/qt as location
|
||||
4. Enter "dogecoin-qt" as project name, enter src/qt as location
|
||||
5. Leave the file selection as it is
|
||||
6. Confirm the "summary page"
|
||||
7. In the "Projects" tab select "Manage Kits..."
|
||||
|
@ -97,4 +97,4 @@ Notes
|
|||
|
||||
* Tested on OS X 10.8 through 10.12 on 64-bit Intel processors only.
|
||||
|
||||
* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714)
|
||||
* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/dogecoin/dogecoin/issues/7714)
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
UNIX BUILD NOTES
|
||||
====================
|
||||
Some notes on how to build Bitcoin Core in Unix.
|
||||
Some notes on how to build Dogecoin Core in Unix.
|
||||
|
||||
(for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md))
|
||||
|
||||
Note
|
||||
---------------------
|
||||
Always use absolute paths to configure and compile bitcoin and the dependencies,
|
||||
Always use absolute paths to configure and compile Dogecoin and the dependencies,
|
||||
for example, when specifying the path of the dependency:
|
||||
|
||||
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
|
||||
|
@ -24,7 +24,7 @@ make
|
|||
make install # optional
|
||||
```
|
||||
|
||||
This will build bitcoin-qt as well if the dependencies are met.
|
||||
This will build Dogecoin-Qt as well if the dependencies are met.
|
||||
|
||||
Dependencies
|
||||
---------------------
|
||||
|
@ -55,10 +55,9 @@ Memory Requirements
|
|||
--------------------
|
||||
|
||||
C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of
|
||||
memory available when compiling Bitcoin Core. On systems with less, gcc can be
|
||||
memory available when compiling Dogecoin Core. On systems with less, gcc can be
|
||||
tuned to conserve memory with additional CXXFLAGS:
|
||||
|
||||
|
||||
./configure CXXFLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"
|
||||
|
||||
Dependency Build Instructions: Ubuntu & Debian
|
||||
|
@ -91,7 +90,7 @@ BerkeleyDB is required for the wallet.
|
|||
automatically.
|
||||
|
||||
|
||||
See the section "Disable-wallet mode" to build Bitcoin Core without wallet.
|
||||
See the section "Disable-wallet mode" to build Dogecoin Core without wallet.
|
||||
|
||||
Optional (see --with-miniupnpc and --enable-upnp-default):
|
||||
|
||||
|
@ -104,7 +103,7 @@ ZMQ dependencies (provides ZMQ API 4.x):
|
|||
Dependencies for the GUI: Ubuntu & Debian
|
||||
-----------------------------------------
|
||||
|
||||
If you want to build Bitcoin-Qt, make sure that the required packages for Qt development
|
||||
If you want to build Dogecoin-Qt, make sure that the required packages for Qt development
|
||||
are installed. Either Qt 5 or Qt 4 are necessary to build the GUI.
|
||||
If both Qt 4 and Qt 5 are installed, Qt 5 will be used. Pass `--with-gui=qt4` to configure to choose Qt4.
|
||||
To build without GUI pass `--without-gui`.
|
||||
|
@ -121,7 +120,7 @@ libqrencode (optional) can be installed with:
|
|||
|
||||
sudo apt-get install libqrencode-dev
|
||||
|
||||
Once these are installed, they will be found by configure and a bitcoin-qt executable will be
|
||||
Once these are installed, they will be found by configure and a dogecoin-qt executable will be
|
||||
built by default.
|
||||
|
||||
Dependency Build Instructions: Fedora
|
||||
|
@ -144,7 +143,7 @@ libqrencode (optional) can be installed with:
|
|||
|
||||
Notes
|
||||
-----
|
||||
The release is built with GCC and then "strip bitcoind" to strip the debug
|
||||
The release is built with GCC and then "strip dogecoind" to strip the debug
|
||||
symbols, which reduces the executable size by about 90%.
|
||||
|
||||
|
||||
|
@ -167,7 +166,7 @@ It is recommended to use Berkeley DB 5.1. If you have to build it yourself:
|
|||
```bash
|
||||
BITCOIN_ROOT=$(pwd)
|
||||
|
||||
# Pick some path to install BDB to, here we create a directory within the bitcoin directory
|
||||
# Pick some path to install BDB to, here we create a directory within the dogecoin directory
|
||||
BDB_PREFIX="${BITCOIN_ROOT}/db5"
|
||||
mkdir -p $BDB_PREFIX
|
||||
|
||||
|
@ -183,7 +182,7 @@ cd db-5.1.29.NC/build_unix/
|
|||
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
|
||||
make install
|
||||
|
||||
# Configure Bitcoin Core to use our own-built instance of BDB
|
||||
# Configure Dogecoin Core to use our own-built instance of BDB
|
||||
cd $BITCOIN_ROOT
|
||||
./autogen.sh
|
||||
./configure LDFLAGS="-L${BDB_PREFIX}/lib/" CPPFLAGS="-I${BDB_PREFIX}/include/" # (other args...)
|
||||
|
@ -202,7 +201,7 @@ If you need to build Boost yourself:
|
|||
|
||||
Security
|
||||
--------
|
||||
To help make your bitcoin installation more secure by making certain attacks impossible to
|
||||
To help make your Dogecoin installation more secure by making certain attacks impossible to
|
||||
exploit even if a vulnerability is found, binaries are hardened by default.
|
||||
This can be disabled with:
|
||||
|
||||
|
@ -226,7 +225,7 @@ Hardening enables the following features:
|
|||
|
||||
To test that you have built PIE executable, install scanelf, part of paxutils, and use:
|
||||
|
||||
scanelf -e ./bitcoin
|
||||
scanelf -e ./dogecoin
|
||||
|
||||
The output should contain:
|
||||
|
||||
|
@ -234,24 +233,24 @@ Hardening enables the following features:
|
|||
ET_DYN
|
||||
|
||||
* Non-executable Stack
|
||||
If the stack is executable then trivial stack based buffer overflow exploits are possible if
|
||||
vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack
|
||||
If the stack is executable, trivial stack-based buffer overflow exploits are possible if
|
||||
vulnerable buffers are found. By default, Dogecoin should be built with a non-executable stack,
|
||||
but if one of the libraries it uses asks for an executable stack or someone makes a mistake
|
||||
and uses a compiler extension which requires an executable stack, it will silently build an
|
||||
executable without the non-executable stack protection.
|
||||
|
||||
To verify that the stack is non-executable after compiling use:
|
||||
`scanelf -e ./bitcoin`
|
||||
To verify that the stack is non-executable after compiling, use:
|
||||
`scanelf -e ./dogecoin`
|
||||
|
||||
the output should contain:
|
||||
STK/REL/PTL
|
||||
RW- R-- RW-
|
||||
|
||||
The STK RW- means that the stack is readable and writeable but not executable.
|
||||
The STK RW- means that the stack is readable and writeable, but not executable.
|
||||
|
||||
Disable-wallet mode
|
||||
--------------------
|
||||
When the intention is to run only a P2P node without a wallet, bitcoin may be compiled in
|
||||
When the intention is to run only a P2P node without a wallet, Dogecoin may be compiled in
|
||||
disable-wallet mode with:
|
||||
|
||||
./configure --disable-wallet
|
||||
|
@ -259,7 +258,7 @@ disable-wallet mode with:
|
|||
In this case there is no dependency on Berkeley DB 4.8.
|
||||
|
||||
Mining is also possible in disable-wallet mode, but only using the `getblocktemplate` RPC
|
||||
call not `getwork`.
|
||||
call, not `getwork`.
|
||||
|
||||
Additional Configure Flags
|
||||
--------------------------
|
||||
|
@ -283,7 +282,7 @@ Note:
|
|||
Enabling wallet support requires either compiling against a Berkeley DB newer than 4.8 (package `db`) using `--with-incompatible-bdb`,
|
||||
or building and depending on a local version of Berkeley DB 4.8. The readily available Arch Linux packages are currently built using
|
||||
`--with-incompatible-bdb` according to the [PKGBUILD](https://projects.archlinux.org/svntogit/community.git/tree/bitcoin/trunk/PKGBUILD).
|
||||
As mentioned above, when maintaining portability of the wallet between the standard Bitcoin Core distributions and independently built
|
||||
As mentioned above, when maintaining portability of the wallet between the standard Dogecoin Core distributions and independently built
|
||||
node software is desired, Berkeley DB 4.8 must be used.
|
||||
|
||||
|
||||
|
@ -331,7 +330,7 @@ For the wallet (optional):
|
|||
This will give a warning "configure: WARNING: Found Berkeley DB other
|
||||
than 4.8; wallets opened by this build will not be portable!", but as FreeBSD never
|
||||
had a binary release, this may not matter. If backwards compatibility
|
||||
with 4.8-built Bitcoin Core is needed follow the steps under "Berkeley DB" above.
|
||||
with 4.8-built Dogecoin Core is needed follow the steps under "Berkeley DB" above.
|
||||
|
||||
Then build using:
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ to see it.
|
|||
|
||||
**testnet and regtest modes**
|
||||
|
||||
Run with the -testnet option to run with "play bitcoins" on the test network, if you
|
||||
Run with the -testnet option to run with "play dogecoins" on the test network, if you
|
||||
are testing multi-machine code that needs to operate across the internet.
|
||||
|
||||
If you are testing something that can run on one machine, run with the -regtest option.
|
||||
|
@ -137,7 +137,7 @@ that run in -regtest mode.
|
|||
|
||||
**DEBUG_LOCKORDER**
|
||||
|
||||
Bitcoin Core is a multithreaded application, and deadlocks or other multithreading bugs
|
||||
Dogecoin Core is a multithreaded application, and deadlocks or other multithreading bugs
|
||||
can be very difficult to track down. Compiling with -DDEBUG_LOCKORDER (configure
|
||||
CXXFLAGS="-DDEBUG_LOCKORDER -g") inserts run-time checks to keep track of which locks
|
||||
are held, and adds warnings to the debug.log file if inconsistencies are detected.
|
||||
|
@ -172,7 +172,7 @@ Threads
|
|||
|
||||
- ThreadMapPort : Universal plug-and-play startup/shutdown
|
||||
|
||||
- ThreadSocketHandler : Sends/Receives data from peers on port 8333.
|
||||
- ThreadSocketHandler : Sends/Receives data from peers on port 22556.
|
||||
|
||||
- ThreadOpenAddedConnections : Opens network connections to added nodes.
|
||||
|
||||
|
@ -184,9 +184,9 @@ Threads
|
|||
|
||||
- ThreadFlushWalletDB : Close the wallet.dat file if it hasn't been used in 500ms.
|
||||
|
||||
- ThreadRPCServer : Remote procedure call handler, listens on port 8332 for connections and services them.
|
||||
- ThreadRPCServer : Remote procedure call handler, listens on port 22555 for connections and services them.
|
||||
|
||||
- BitcoinMiner : Generates bitcoins (if wallet is enabled).
|
||||
- DogecoinMiner : Generates dogecoins (if wallet is enabled).
|
||||
|
||||
- Shutdown : Does an orderly shutdown of everything.
|
||||
|
||||
|
@ -490,7 +490,7 @@ Git and GitHub tips
|
|||
|
||||
[remote "upstream-pull"]
|
||||
fetch = +refs/pull/*:refs/remotes/upstream-pull/*
|
||||
url = git@github.com:bitcoin/bitcoin.git
|
||||
url = git@github.com:dogecoin/dogecoin.git
|
||||
|
||||
This will add an `upstream-pull` remote to your git repository, which can be fetched using `git fetch --all`
|
||||
or `git fetch upstream-pull`. Afterwards, you can use `upstream-pull/NUMBER/head` in arguments to `git show`,
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
Expectations for DNS Seed operators
|
||||
====================================
|
||||
|
||||
Bitcoin Core attempts to minimize the level of trust in DNS seeds,
|
||||
Dogecoin Core attempts to minimize the level of trust in DNS seeds,
|
||||
but DNS seeds still pose a small amount of risk for the network.
|
||||
As such, DNS seeds must be run by entities which have some minimum
|
||||
level of trust within the Bitcoin community.
|
||||
level of trust within the Dogecoin community.
|
||||
|
||||
Other implementations of Bitcoin software may also use the same
|
||||
Other implementations of Dogecoin software may also use the same
|
||||
seeds and may be more exposed. In light of this exposure, this
|
||||
document establishes some basic expectations for operating dnsseeds.
|
||||
|
||||
|
@ -16,7 +16,7 @@ and not sell or transfer control of the DNS seed. Any hosting services
|
|||
contracted by the operator are equally expected to uphold these expectations.
|
||||
|
||||
1. The DNS seed results must consist exclusively of fairly selected and
|
||||
functioning Bitcoin nodes from the public network to the best of the
|
||||
functioning Dogecoin nodes from the public network to the best of the
|
||||
operator's understanding and capability.
|
||||
|
||||
2. For the avoidance of doubt, the results may be randomized but must not
|
||||
|
@ -26,7 +26,7 @@ urgent technical necessity and disclosed.
|
|||
3. The results may not be served with a DNS TTL of less than one minute.
|
||||
|
||||
4. Any logging of DNS queries should be only that which is necessary
|
||||
for the operation of the service or urgent health of the Bitcoin
|
||||
for the operation of the service or urgent health of the Dogecoin
|
||||
network and must not be retained longer than necessary nor disclosed
|
||||
to any third party.
|
||||
|
||||
|
@ -42,13 +42,13 @@ details of their operating practices.
|
|||
related to the DNS seed operation.
|
||||
|
||||
If these expectations cannot be satisfied the operator should
|
||||
discontinue providing services and contact the active Bitcoin
|
||||
discontinue providing services and contact the active Dogecoin
|
||||
Core development team as well as posting on
|
||||
[bitcoin-dev](https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev).
|
||||
[Dogecoin Dev](https://reddit.com/r/dogecoindev).
|
||||
|
||||
Behavior outside of these expectations may be reasonable in some
|
||||
situations but should be discussed in public in advance.
|
||||
|
||||
See also
|
||||
----------
|
||||
- [bitcoin-seeder](https://github.com/sipa/bitcoin-seeder) is a reference implementation of a DNS seed.
|
||||
- [dogecoin-seeder](https://github.com/langerhans/dogecoin-seeder) is a reference implementation of a DNS seed.
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
|
||||
* banlist.dat: stores the IPs/Subnets of banned nodes
|
||||
* bitcoin.conf: contains configuration settings for bitcoind or bitcoin-qt
|
||||
* bitcoind.pid: stores the process id of bitcoind while running
|
||||
* dogecoin.conf: contains configuration settings for dogecoind or dogecoin-qt
|
||||
* dogecoind.pid: stores the process id of dogecoind while running
|
||||
* blocks/blk000??.dat: block data (custom, 128 MiB per file); since 0.8.0
|
||||
* blocks/rev000??.dat; block undo data (custom); since 0.8.0 (format changed since pre-0.8)
|
||||
* blocks/index/*; block index (LevelDB); since 0.8.0
|
||||
* chainstate/*; block chain state database (LevelDB); since 0.8.0
|
||||
* database/*: BDB database environment; only used for wallet since 0.8.0
|
||||
* db.log: wallet database log file
|
||||
* debug.log: contains debug information and general logging generated by bitcoind or bitcoin-qt
|
||||
* debug.log: contains debug information and general logging generated by dogecoind or dogecoin-qt
|
||||
* fee_estimates.dat: stores statistics used to estimate minimum transaction fees and priorities required for confirmation; since 0.10.0
|
||||
* mempool.dat: dump of the mempool's transactions; since 0.14.0.
|
||||
* peers.dat: peer IP address database (custom format); since 0.7.0
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Fuzz-testing Bitcoin Core
|
||||
Fuzz-testing Dogecoin Core
|
||||
==========================
|
||||
|
||||
A special test harness `test_bitcoin_fuzzy` is provided to provide an easy
|
||||
A special test harness `test_dogecoin_fuzzy` is provided to provide an easy
|
||||
entry point for fuzzers and the like. In this document we'll describe how to
|
||||
use it with AFL.
|
||||
|
||||
|
@ -20,13 +20,13 @@ export AFLPATH=$PWD
|
|||
Instrumentation
|
||||
----------------
|
||||
|
||||
To build Bitcoin Core using AFL instrumentation (this assumes that the
|
||||
To build Dogecoin Core using AFL instrumentation (this assumes that the
|
||||
`AFLPATH` was set as above):
|
||||
```
|
||||
./configure --disable-ccache --disable-shared --enable-tests CC=${AFLPATH}/afl-gcc CXX=${AFLPATH}/afl-g++
|
||||
export AFL_HARDEN=1
|
||||
cd src/
|
||||
make test/test_bitcoin_fuzzy
|
||||
make test/test_dogecoin_fuzzy
|
||||
```
|
||||
We disable ccache because we don't want to pollute the ccache with instrumented
|
||||
objects, and similarly don't want to use non-instrumented cached objects linked
|
||||
|
@ -46,12 +46,12 @@ mkdir outputs
|
|||
AFLOUT=$PWD/outputs
|
||||
```
|
||||
|
||||
Example inputs are available from:
|
||||
Example inputs for Bitcoin Core are available from:
|
||||
|
||||
- https://download.visucore.com/bitcoin/bitcoin_fuzzy_in.tar.xz
|
||||
- http://strateman.ninja/fuzzing.tar.xz
|
||||
|
||||
Extract these (or other starting inputs) into the `inputs` directory before starting fuzzing.
|
||||
Extract these (or other starting inputs) into the `inputs` directory before starting fuzzing. These will need adapting to Dogecoin before use.
|
||||
|
||||
Fuzzing
|
||||
--------
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Gitian building
|
||||
================
|
||||
|
||||
*Setup instructions for a Gitian build of Bitcoin Core using a Debian VM or physical system.*
|
||||
*Setup instructions for a Gitian build of Dogecoin Core using a Debian VM or physical system.*
|
||||
|
||||
Gitian is the deterministic build process that is used to build the Bitcoin
|
||||
Gitian is the deterministic build process that is used to build the Dogecoin
|
||||
Core executables. It provides a way to be reasonably sure that the
|
||||
executables are really built from the source on GitHub. It also makes sure that
|
||||
the same, tested dependencies are used and statically built into the executable.
|
||||
|
@ -11,7 +11,7 @@ the same, tested dependencies are used and statically built into the executable.
|
|||
Multiple developers build the source code by following a specific descriptor
|
||||
("recipe"), cryptographically sign the result, and upload the resulting signature.
|
||||
These results are compared and only if they match, the build is accepted and uploaded
|
||||
to bitcoin.org.
|
||||
to dogecoin.com.
|
||||
|
||||
More independent Gitian builders are needed, which is why this guide exists.
|
||||
It is preferred you follow these steps yourself instead of using someone else's
|
||||
|
@ -26,7 +26,7 @@ Table of Contents
|
|||
- [Installing Gitian](#installing-gitian)
|
||||
- [Setting up the Gitian image](#setting-up-the-gitian-image)
|
||||
- [Getting and building the inputs](#getting-and-building-the-inputs)
|
||||
- [Building Bitcoin Core](#building-bitcoin-core)
|
||||
- [Building Dogecoin Core](#building-dogecoin-core)
|
||||
- [Building an alternative repository](#building-an-alternative-repository)
|
||||
- [Signing externally](#signing-externally)
|
||||
- [Uploading signatures](#uploading-signatures)
|
||||
|
@ -305,12 +305,12 @@ cd ..
|
|||
|
||||
**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*.
|
||||
|
||||
Clone the git repositories for bitcoin and Gitian.
|
||||
Clone the git repositories for dogecoin and Gitian.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/devrandom/gitian-builder.git
|
||||
git clone https://github.com/bitcoin/bitcoin
|
||||
git clone https://github.com/bitcoin-core/gitian.sigs.git
|
||||
git clone https://github.com/dogecoin/dogecoin.git
|
||||
git clone https://github.com/dogecoin/gitian.sigs.git
|
||||
```
|
||||
|
||||
Setting up the Gitian image
|
||||
|
@ -339,16 +339,16 @@ Getting and building the inputs
|
|||
At this point you have two options, you can either use the automated script (found in [contrib/gitian-build.sh](/contrib/gitian-build.sh)) or you could manually do everything by following this guide. If you're using the automated script, then run it with the "--setup" command. Afterwards, run it with the "--build" command (example: "contrib/gitian-building.sh -b signer 0.13.0"). Otherwise ignore this.
|
||||
|
||||
Follow the instructions in [doc/release-process.md](release-process.md#fetch-and-create-inputs-first-time-or-when-dependency-versions-change)
|
||||
in the bitcoin repository under 'Fetch and create inputs' to install sources which require
|
||||
in the dogecoin repository under 'Fetch and create inputs' to install sources which require
|
||||
manual intervention. Also optionally follow the next step: 'Seed the Gitian sources cache
|
||||
and offline git repositories' which will fetch the remaining files required for building
|
||||
offline.
|
||||
|
||||
Building Bitcoin Core
|
||||
Building Dogecoin Core
|
||||
----------------
|
||||
|
||||
To build Bitcoin Core (for Linux, OS X and Windows) just follow the steps under 'perform
|
||||
Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the bitcoin repository.
|
||||
To build Dogecoin Core (for Linux, OS X and Windows) just follow the steps under 'perform
|
||||
Gitian builds' in [doc/release-process.md](release-process.md#perform-gitian-builds) in the dogecoin repository.
|
||||
|
||||
This may take some time as it will build all the dependencies needed for each descriptor.
|
||||
These dependencies will be cached after a successful build to avoid rebuilding them when possible.
|
||||
|
@ -362,12 +362,12 @@ tail -f var/build.log
|
|||
|
||||
Output from `gbuild` will look something like
|
||||
|
||||
Initialized empty Git repository in /home/debian/gitian-builder/inputs/bitcoin/.git/
|
||||
Initialized empty Git repository in /home/debian/gitian-builder/inputs/dogecoin/.git/
|
||||
remote: Counting objects: 57959, done.
|
||||
remote: Total 57959 (delta 0), reused 0 (delta 0), pack-reused 57958
|
||||
Receiving objects: 100% (57959/57959), 53.76 MiB | 484.00 KiB/s, done.
|
||||
Resolving deltas: 100% (41590/41590), done.
|
||||
From https://github.com/bitcoin/bitcoin
|
||||
From https://github.com/dogecoin/dogecoin
|
||||
... (new tags, new branch etc)
|
||||
--- Building for trusty amd64 ---
|
||||
Stopping target if it is up
|
||||
|
@ -393,18 +393,18 @@ and inputs.
|
|||
|
||||
For example:
|
||||
```bash
|
||||
URL=https://github.com/laanwj/bitcoin.git
|
||||
URL=https://github.com/laanwj/dogecoin.git
|
||||
COMMIT=2014_03_windows_unicode_path
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gbuild --commit bitcoin=${COMMIT} --url bitcoin=${URL} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
./bin/gbuild --commit dogecoin=${COMMIT} --url dogecoin=${URL} ../dogecoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gbuild --commit dogecoin=${COMMIT} --url dogecoin=${URL} ../dogecoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gbuild --commit dogecoin=${COMMIT} --url dogecoin=${URL} ../dogecoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
```
|
||||
|
||||
Building fully offline
|
||||
-----------------------
|
||||
|
||||
For building fully offline including attaching signatures to unsigned builds, the detached-sigs repository
|
||||
and the bitcoin git repository with the desired tag must both be available locally, and then gbuild must be
|
||||
and the dogecoin git repository with the desired tag must both be available locally, and then gbuild must be
|
||||
told where to find them. It also requires an apt-cacher-ng which is fully-populated but set to offline mode, or
|
||||
manually disabling gitian-builder's use of apt-get to update the VM build environment.
|
||||
|
||||
|
@ -423,7 +423,7 @@ cd /path/to/gitian-builder
|
|||
LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root apt-get update
|
||||
LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root \
|
||||
-e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install \
|
||||
$( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../bitcoin/contrib/gitian-descriptors/*|sort|uniq )
|
||||
$( sed -ne '/^packages:/,/[^-] .*/ {/^- .*/{s/"//g;s/- //;p}}' ../dogecoin/contrib/gitian-descriptors/*|sort|uniq )
|
||||
LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root apt-get -q -y purge grub
|
||||
LXC_ARCH=amd64 LXC_SUITE=trusty on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade
|
||||
```
|
||||
|
@ -443,12 +443,12 @@ Then when building, override the remote URLs that gbuild would otherwise pull fr
|
|||
```bash
|
||||
|
||||
cd /some/root/path/
|
||||
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
|
||||
git clone https://github.com/dogecoin/dogecoin-detached-sigs.git
|
||||
|
||||
BTCPATH=/some/root/path/bitcoin
|
||||
SIGPATH=/some/root/path/bitcoin-detached-sigs
|
||||
BTCPATH=/some/root/path/dogecoin
|
||||
SIGPATH=/some/root/path/dogecoin-detached-sigs
|
||||
|
||||
./bin/gbuild --url bitcoin=${BTCPATH},signature=${SIGPATH} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
./bin/gbuild --url dogecoin=${BTCPATH},signature=${SIGPATH} ../dogecoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
```
|
||||
|
||||
Signing externally
|
||||
|
@ -463,9 +463,9 @@ When you execute `gsign` you will get an error from GPG, which can be ignored. C
|
|||
in `gitian.sigs` to your signing machine and do
|
||||
|
||||
```bash
|
||||
gpg --detach-sign ${VERSION}-linux/${SIGNER}/bitcoin-linux-build.assert
|
||||
gpg --detach-sign ${VERSION}-win/${SIGNER}/bitcoin-win-build.assert
|
||||
gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/bitcoin-osx-build.assert
|
||||
gpg --detach-sign ${VERSION}-linux/${SIGNER}/dogecoin-linux-build.assert
|
||||
gpg --detach-sign ${VERSION}-win/${SIGNER}/dogecoin-win-build.assert
|
||||
gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/dogecoin-osx-build.assert
|
||||
```
|
||||
|
||||
This will create the `.sig` files that can be committed together with the `.assert` files to assert your
|
||||
|
@ -475,5 +475,5 @@ Uploading signatures
|
|||
---------------------
|
||||
|
||||
After building and signing you can push your signatures (both the `.assert` and `.assert.sig` files) to the
|
||||
[bitcoin-core/gitian.sigs](https://github.com/bitcoin-core/gitian.sigs/) repository, or if that's not possible create a pull
|
||||
[dogecoin/gitian.sigs](https://github.com/dogecoin/gitian.sigs/) repository, or if that's not possible create a pull
|
||||
request. You can also mail the files to Wladimir (laanwj@gmail.com) and he will commit them.
|
||||
|
|
82
doc/init.md
82
doc/init.md
|
@ -1,36 +1,36 @@
|
|||
Sample init scripts and service configuration for bitcoind
|
||||
Sample init scripts and service configuration for dogecoind
|
||||
==========================================================
|
||||
|
||||
Sample scripts and configuration files for systemd, Upstart and OpenRC
|
||||
can be found in the contrib/init folder.
|
||||
|
||||
contrib/init/bitcoind.service: systemd service unit configuration
|
||||
contrib/init/bitcoind.openrc: OpenRC compatible SysV style init script
|
||||
contrib/init/bitcoind.openrcconf: OpenRC conf.d file
|
||||
contrib/init/bitcoind.conf: Upstart service configuration file
|
||||
contrib/init/bitcoind.init: CentOS compatible SysV style init script
|
||||
contrib/init/dogecoind.service: systemd service unit configuration
|
||||
contrib/init/dogecoind.openrc: OpenRC compatible SysV style init script
|
||||
contrib/init/dogecoind.openrcconf: OpenRC conf.d file
|
||||
contrib/init/dogecoind.conf: Upstart service configuration file
|
||||
contrib/init/dogecoind.init: CentOS compatible SysV style init script
|
||||
|
||||
1. Service User
|
||||
---------------------------------
|
||||
|
||||
All three Linux startup configurations assume the existence of a "bitcoin" user
|
||||
All three Linux startup configurations assume the existence of a "dogecoin" user
|
||||
and group. They must be created before attempting to use these scripts.
|
||||
The OS X configuration assumes bitcoind will be set up for the current user.
|
||||
The OS X configuration assumes dogecoind will be set up for the current user.
|
||||
|
||||
2. Configuration
|
||||
---------------------------------
|
||||
|
||||
At a bare minimum, bitcoind requires that the rpcpassword setting be set
|
||||
At a bare minimum, dogecoind requires that the rpcpassword setting be set
|
||||
when running as a daemon. If the configuration file does not exist or this
|
||||
setting is not set, bitcoind will shutdown promptly after startup.
|
||||
setting is not set, dogecoind will shutdown promptly after startup.
|
||||
|
||||
This password does not have to be remembered or typed as it is mostly used
|
||||
as a fixed token that bitcoind and client programs read from the configuration
|
||||
as a fixed token that dogecoind and client programs read from the configuration
|
||||
file, however it is recommended that a strong and secure password be used
|
||||
as this password is security critical to securing the wallet should the
|
||||
wallet be enabled.
|
||||
|
||||
If bitcoind is run with the "-server" flag (set by default), and no rpcpassword is set,
|
||||
If dogecoind is run with the "-server" flag (set by default), and no rpcpassword is set,
|
||||
it will use a special cookie file for authentication. The cookie is generated with random
|
||||
content when the daemon starts, and deleted when it exits. Read access to this file
|
||||
controls who can access it through RPC.
|
||||
|
@ -38,13 +38,13 @@ controls who can access it through RPC.
|
|||
By default the cookie is stored in the data directory, but it's location can be overridden
|
||||
with the option '-rpccookiefile'.
|
||||
|
||||
This allows for running bitcoind without having to do any manual configuration.
|
||||
This allows for running dogecoind without having to do any manual configuration.
|
||||
|
||||
`conf`, `pid`, and `wallet` accept relative paths which are interpreted as
|
||||
relative to the data directory. `wallet` *only* supports relative paths.
|
||||
|
||||
For an example configuration file that describes the configuration settings,
|
||||
see `contrib/debian/examples/bitcoin.conf`.
|
||||
see `contrib/debian/examples/dogecoin.conf`.
|
||||
|
||||
3. Paths
|
||||
---------------------------------
|
||||
|
@ -53,24 +53,24 @@ see `contrib/debian/examples/bitcoin.conf`.
|
|||
|
||||
All three configurations assume several paths that might need to be adjusted.
|
||||
|
||||
Binary: `/usr/bin/bitcoind`
|
||||
Configuration file: `/etc/bitcoin/bitcoin.conf`
|
||||
Data directory: `/var/lib/bitcoind`
|
||||
PID file: `/var/run/bitcoind/bitcoind.pid` (OpenRC and Upstart) or `/var/lib/bitcoind/bitcoind.pid` (systemd)
|
||||
Lock file: `/var/lock/subsys/bitcoind` (CentOS)
|
||||
Binary: `/usr/bin/dogecoind`
|
||||
Configuration file: `/etc/dogecoin/dogecoin.conf`
|
||||
Data directory: `/var/lib/dogecoind`
|
||||
PID file: `/var/run/dogecoind/dogecoind.pid` (OpenRC and Upstart) or `/var/lib/dogecoind/dogecoind.pid` (systemd)
|
||||
Lock file: `/var/lock/subsys/dogecoind` (CentOS)
|
||||
|
||||
The configuration file, PID directory (if applicable) and data directory
|
||||
should all be owned by the bitcoin user and group. It is advised for security
|
||||
should all be owned by the dogecoin user and group. It is advised for security
|
||||
reasons to make the configuration file and data directory only readable by the
|
||||
bitcoin user and group. Access to bitcoin-cli and other bitcoind rpc clients
|
||||
dogecoin user and group. Access to dogecoin-cli and other dogecoind rpc clients
|
||||
can then be controlled by group membership.
|
||||
|
||||
3b) Mac OS X
|
||||
|
||||
Binary: `/usr/local/bin/bitcoind`
|
||||
Configuration file: `~/Library/Application Support/Bitcoin/bitcoin.conf`
|
||||
Data directory: `~/Library/Application Support/Bitcoin`
|
||||
Lock file: `~/Library/Application Support/Bitcoin/.lock`
|
||||
Binary: `/usr/local/bin/dogecoind`
|
||||
Configuration file: `~/Library/Application Support/Dogecoin/dogecoin.conf`
|
||||
Data directory: `~/Library/Application Support/Dogecoin`
|
||||
Lock file: `~/Library/Application Support/Dogecoin/.lock`
|
||||
|
||||
4. Installing Service Configuration
|
||||
-----------------------------------
|
||||
|
@ -81,19 +81,19 @@ Installing this .service file consists of just copying it to
|
|||
/usr/lib/systemd/system directory, followed by the command
|
||||
`systemctl daemon-reload` in order to update running systemd configuration.
|
||||
|
||||
To test, run `systemctl start bitcoind` and to enable for system startup run
|
||||
`systemctl enable bitcoind`
|
||||
To test, run `systemctl start dogecoind` and to enable for system startup run
|
||||
`systemctl enable dogecoind`
|
||||
|
||||
4b) OpenRC
|
||||
|
||||
Rename bitcoind.openrc to bitcoind and drop it in /etc/init.d. Double
|
||||
Rename dogecoind.openrc to dogecoind and drop it in /etc/init.d. Double
|
||||
check ownership and permissions and make it executable. Test it with
|
||||
`/etc/init.d/bitcoind start` and configure it to run on startup with
|
||||
`rc-update add bitcoind`
|
||||
`/etc/init.d/dogecoind start` and configure it to run on startup with
|
||||
`rc-update add dogecoind`
|
||||
|
||||
4c) Upstart (for Debian/Ubuntu based distributions)
|
||||
|
||||
Drop bitcoind.conf in /etc/init. Test by running `service bitcoind start`
|
||||
Drop dogecoind.conf in /etc/init. Test by running `service dogecoind start`
|
||||
it will automatically start on reboot.
|
||||
|
||||
NOTE: This script is incompatible with CentOS 5 and Amazon Linux 2014 as they
|
||||
|
@ -101,22 +101,22 @@ use old versions of Upstart and do not supply the start-stop-daemon utility.
|
|||
|
||||
4d) CentOS
|
||||
|
||||
Copy bitcoind.init to /etc/init.d/bitcoind. Test by running `service bitcoind start`.
|
||||
Copy dogecoind.init to /etc/init.d/dogecoind. Test by running `service dogecoind start`.
|
||||
|
||||
Using this script, you can adjust the path and flags to the bitcoind program by
|
||||
setting the BITCOIND and FLAGS environment variables in the file
|
||||
/etc/sysconfig/bitcoind. You can also use the DAEMONOPTS environment variable here.
|
||||
Using this script, you can adjust the path and flags to the dogecoind program by
|
||||
setting the DOGECOIND and FLAGS environment variables in the file
|
||||
/etc/sysconfig/dogecoind. You can also use the DAEMONOPTS environment variable here.
|
||||
|
||||
4e) Mac OS X
|
||||
|
||||
Copy org.bitcoin.bitcoind.plist into ~/Library/LaunchAgents. Load the launch agent by
|
||||
running `launchctl load ~/Library/LaunchAgents/org.bitcoin.bitcoind.plist`.
|
||||
Copy org.dogecoin.dogecoind.plist into ~/Library/LaunchAgents. Load the launch agent by
|
||||
running `launchctl load ~/Library/LaunchAgents/org.dogecoin.dogecoind.plist`.
|
||||
|
||||
This Launch Agent will cause bitcoind to start whenever the user logs in.
|
||||
This Launch Agent will cause dogecoind to start whenever the user logs in.
|
||||
|
||||
NOTE: This approach is intended for those wanting to run bitcoind as the current user.
|
||||
You will need to modify org.bitcoin.bitcoind.plist if you intend to use it as a
|
||||
Launch Daemon with a dedicated bitcoin user.
|
||||
NOTE: This approach is intended for those wanting to run dogecoind as the current user.
|
||||
You will need to modify org.dogecoin.dogecoind.plist if you intend to use it as a
|
||||
Launch Daemon with a dedicated dogecoin user.
|
||||
|
||||
5. Auto-respawn
|
||||
-----------------------------------
|
||||
|
|
|
@ -3,9 +3,9 @@ Release Process
|
|||
|
||||
Before every release candidate:
|
||||
|
||||
* Update translations (ping wumpus on IRC) see [translation_process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#synchronising-translations).
|
||||
* Update translations (ping wumpus on IRC) see [translation_process.md](https://github.com/dogecoin/dogecoin/blob/master/doc/translation_process.md#synchronising-translations).
|
||||
|
||||
* Update manpages, see [gen-manpages.sh](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/README.md#gen-manpagessh).
|
||||
* Update manpages, see [gen-manpages.sh](https://github.com/dogecoin/dogecoin/blob/master/contrib/devtools/README.md#gen-manpagessh).
|
||||
|
||||
Before every minor and major release:
|
||||
|
||||
|
@ -21,7 +21,7 @@ Before every minor and major release:
|
|||
|
||||
Before every major release:
|
||||
|
||||
* Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example.
|
||||
* Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/dogecoin/dogecoin/pull/7415) for an example.
|
||||
* Update [`BLOCK_CHAIN_SIZE`](/src/qt/intro.cpp) to the current size plus some overhead.
|
||||
|
||||
### First time / New builders
|
||||
|
@ -31,12 +31,12 @@ If you're using the automated script (found in [contrib/gitian-build.sh](/contri
|
|||
Check out the source code in the following directory hierarchy.
|
||||
|
||||
cd /path/to/your/toplevel/build
|
||||
git clone https://github.com/bitcoin-core/gitian.sigs.git
|
||||
git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
|
||||
git clone https://github.com/dogecoin-core/gitian.sigs.git
|
||||
git clone https://github.com/dogecoin-core/dogecoin-detached-sigs.git
|
||||
git clone https://github.com/devrandom/gitian-builder.git
|
||||
git clone https://github.com/bitcoin/bitcoin.git
|
||||
git clone https://github.com/dogecoin/dogecoin.git
|
||||
|
||||
### Bitcoin maintainers/release engineers, update version in sources
|
||||
### Dogecoin maintainers/release engineers, update version in sources
|
||||
|
||||
Update the following:
|
||||
|
||||
|
@ -75,7 +75,7 @@ If you're using the automated script (found in [contrib/gitian-build.sh](/contri
|
|||
|
||||
Setup Gitian descriptors:
|
||||
|
||||
pushd ./bitcoin
|
||||
pushd ./dogecoin
|
||||
export SIGNER=(your Gitian key, ie bluematt, sipa, etc)
|
||||
export VERSION=(new version, e.g. 0.8.0)
|
||||
git fetch
|
||||
|
@ -109,7 +109,7 @@ Create the OS X SDK tarball, see the [OS X readme](README_osx.md) for details, a
|
|||
By default, Gitian will fetch source files as needed. To cache them ahead of time:
|
||||
|
||||
pushd ./gitian-builder
|
||||
make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common
|
||||
make -C ../dogecoin/depends download SOURCES_PATH=`pwd`/cache/common
|
||||
popd
|
||||
|
||||
Only missing files will be fetched, so this is safe to re-run for each build.
|
||||
|
@ -117,50 +117,50 @@ Only missing files will be fetched, so this is safe to re-run for each build.
|
|||
NOTE: Offline builds must use the --url flag to ensure Gitian fetches only from local URLs. For example:
|
||||
|
||||
pushd ./gitian-builder
|
||||
./bin/gbuild --url bitcoin=/path/to/bitcoin,signature=/path/to/sigs {rest of arguments}
|
||||
./bin/gbuild --url dogecoin=/path/to/dogecoin,signature=/path/to/sigs {rest of arguments}
|
||||
popd
|
||||
|
||||
The gbuild invocations below <b>DO NOT DO THIS</b> by default.
|
||||
|
||||
### Build and sign Bitcoin Core for Linux, Windows, and OS X:
|
||||
### Build and sign Dogecoin Core for Linux, Windows, and OS X:
|
||||
|
||||
pushd ./gitian-builder
|
||||
./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
|
||||
./bin/gbuild --memory 3000 --commit dogecoin=v${VERSION} ../dogecoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../dogecoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
mv build/out/dogecoin-*.tar.gz build/out/src/dogecoin-*.tar.gz ../
|
||||
|
||||
./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
mv build/out/bitcoin-*-win-unsigned.tar.gz inputs/bitcoin-win-unsigned.tar.gz
|
||||
mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../
|
||||
./bin/gbuild --memory 3000 --commit dogecoin=v${VERSION} ../dogecoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs/ ../dogecoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
mv build/out/dogecoin-*-win-unsigned.tar.gz inputs/dogecoin-win-unsigned.tar.gz
|
||||
mv build/out/dogecoin-*.zip build/out/dogecoin-*.exe ../
|
||||
|
||||
./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
mv build/out/bitcoin-*-osx-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz
|
||||
mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../
|
||||
./bin/gbuild --memory 3000 --commit dogecoin=v${VERSION} ../dogecoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../dogecoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
mv build/out/dogecoin-*-osx-unsigned.tar.gz inputs/dogecoin-osx-unsigned.tar.gz
|
||||
mv build/out/dogecoin-*.tar.gz build/out/dogecoin-*.dmg ../
|
||||
popd
|
||||
|
||||
Build output expected:
|
||||
|
||||
1. source tarball (`bitcoin-${VERSION}.tar.gz`)
|
||||
2. linux 32-bit and 64-bit dist tarballs (`bitcoin-${VERSION}-linux[32|64].tar.gz`)
|
||||
3. windows 32-bit and 64-bit unsigned installers and dist zips (`bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe`, `bitcoin-${VERSION}-win[32|64].zip`)
|
||||
4. OS X unsigned installer and dist tarball (`bitcoin-${VERSION}-osx-unsigned.dmg`, `bitcoin-${VERSION}-osx64.tar.gz`)
|
||||
1. source tarball (`dogecoin-${VERSION}.tar.gz`)
|
||||
2. linux 32-bit and 64-bit dist tarballs (`dogecoin-${VERSION}-linux[32|64].tar.gz`)
|
||||
3. windows 32-bit and 64-bit unsigned installers and dist zips (`dogecoin-${VERSION}-win[32|64]-setup-unsigned.exe`, `dogecoin-${VERSION}-win[32|64].zip`)
|
||||
4. OS X unsigned installer and dist tarball (`dogecoin-${VERSION}-osx-unsigned.dmg`, `dogecoin-${VERSION}-osx64.tar.gz`)
|
||||
5. Gitian signatures (in `gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/`)
|
||||
|
||||
### Verify other gitian builders signatures to your own. (Optional)
|
||||
|
||||
Add other gitian builders keys to your gpg keyring, and/or refresh keys.
|
||||
|
||||
gpg --import bitcoin/contrib/gitian-keys/*.pgp
|
||||
gpg --import dogecoin/contrib/gitian-keys/*.pgp
|
||||
gpg --refresh-keys
|
||||
|
||||
Verify the signatures
|
||||
|
||||
pushd ./gitian-builder
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../dogecoin/contrib/gitian-descriptors/gitian-linux.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-unsigned ../dogecoin/contrib/gitian-descriptors/gitian-win.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-unsigned ../dogecoin/contrib/gitian-descriptors/gitian-osx.yml
|
||||
popd
|
||||
|
||||
### Next steps:
|
||||
|
@ -178,25 +178,25 @@ Commit your signature to gitian.sigs:
|
|||
Wait for Windows/OS X detached signatures:
|
||||
|
||||
- Once the Windows/OS X builds each have 3 matching signatures, they will be signed with their respective release keys.
|
||||
- Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin-core/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
|
||||
- Detached signatures will then be committed to the [dogecoin-detached-sigs](https://github.com/doge/dogecoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
|
||||
|
||||
Create (and optionally verify) the signed OS X binary:
|
||||
|
||||
pushd ./gitian-builder
|
||||
./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-signed ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg
|
||||
./bin/gbuild -i --commit signature=v${VERSION} ../dogecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../dogecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-signed ../dogecoin/contrib/gitian-descriptors/gitian-osx-signer.yml
|
||||
mv build/out/dogecoin-osx-signed.dmg ../dogecoin-${VERSION}-osx.dmg
|
||||
popd
|
||||
|
||||
Create (and optionally verify) the signed Windows binaries:
|
||||
|
||||
pushd ./gitian-builder
|
||||
./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-signed ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
mv build/out/bitcoin-*win64-setup.exe ../bitcoin-${VERSION}-win64-setup.exe
|
||||
mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe
|
||||
./bin/gbuild -i --commit signature=v${VERSION} ../dogecoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../dogecoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-signed ../dogecoin/contrib/gitian-descriptors/gitian-win-signer.yml
|
||||
mv build/out/dogecoin-*win64-setup.exe ../dogecoin-${VERSION}-win64-setup.exe
|
||||
mv build/out/dogecoin-*win32-setup.exe ../dogecoin-${VERSION}-win32-setup.exe
|
||||
popd
|
||||
|
||||
Commit your signature for the signed OS X/Windows binaries:
|
||||
|
@ -218,23 +218,23 @@ sha256sum * > SHA256SUMS
|
|||
|
||||
The list of files should be:
|
||||
```
|
||||
bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz
|
||||
bitcoin-${VERSION}-arm-linux-gnueabihf.tar.gz
|
||||
bitcoin-${VERSION}-i686-pc-linux-gnu.tar.gz
|
||||
bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz
|
||||
bitcoin-${VERSION}-osx64.tar.gz
|
||||
bitcoin-${VERSION}-osx.dmg
|
||||
bitcoin-${VERSION}.tar.gz
|
||||
bitcoin-${VERSION}-win32-setup.exe
|
||||
bitcoin-${VERSION}-win32.zip
|
||||
bitcoin-${VERSION}-win64-setup.exe
|
||||
bitcoin-${VERSION}-win64.zip
|
||||
dogecoin-${VERSION}-aarch64-linux-gnu.tar.gz
|
||||
dogecoin-${VERSION}-arm-linux-gnueabihf.tar.gz
|
||||
dogecoin-${VERSION}-i686-pc-linux-gnu.tar.gz
|
||||
dogecoin-${VERSION}-x86_64-linux-gnu.tar.gz
|
||||
dogecoin-${VERSION}-osx64.tar.gz
|
||||
dogecoin-${VERSION}-osx.dmg
|
||||
dogecoin-${VERSION}.tar.gz
|
||||
dogecoin-${VERSION}-win32-setup.exe
|
||||
dogecoin-${VERSION}-win32.zip
|
||||
dogecoin-${VERSION}-win64-setup.exe
|
||||
dogecoin-${VERSION}-win64.zip
|
||||
```
|
||||
The `*-debug*` files generated by the gitian build contain debug symbols
|
||||
for troubleshooting by developers. It is assumed that anyone that is interested
|
||||
in debugging can run gitian to generate the files for themselves. To avoid
|
||||
end-user confusion about which file to pick, as well as save storage
|
||||
space *do not upload these to the bitcoin.org server, nor put them in the torrent*.
|
||||
space *do not upload these to the dogecoin.com server, nor put them in the torrent*.
|
||||
|
||||
- GPG-sign it, delete the unsigned file:
|
||||
```
|
||||
|
@ -244,49 +244,25 @@ rm SHA256SUMS
|
|||
(the digest algorithm is forced to sha256 to avoid confusion of the `Hash:` header that GPG adds with the SHA256 used for the files)
|
||||
Note: check that SHA256SUMS itself doesn't end up in SHA256SUMS, which is a spurious/nonsensical entry.
|
||||
|
||||
- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the bitcoin.org server
|
||||
into `/var/www/bin/bitcoin-core-${VERSION}`
|
||||
- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the dogecoin.com Github repo
|
||||
|
||||
- A `.torrent` will appear in the directory after a few minutes. Optionally help seed this torrent. To get the `magnet:` URI use:
|
||||
```bash
|
||||
transmission-show -m <torrent file>
|
||||
```
|
||||
Insert the magnet URI into the announcement sent to mailing lists. This permits
|
||||
people without access to `bitcoin.org` to download the binary distribution.
|
||||
Also put it into the `optional_magnetlink:` slot in the YAML file for
|
||||
bitcoin.org (see below for bitcoin.org update instructions).
|
||||
- Create a [new GitHub release](https://github.com/dogecoin/dogecoin/releases/new) with a link to the archived release notes.
|
||||
|
||||
- Update bitcoin.org version
|
||||
|
||||
- First, check to see if the Bitcoin.org maintainers have prepared a
|
||||
release: https://github.com/bitcoin-dot-org/bitcoin.org/labels/Releases
|
||||
|
||||
- If they have, it will have previously failed their Travis CI
|
||||
checks because the final release files weren't uploaded.
|
||||
Trigger a Travis CI rebuild---if it passes, merge.
|
||||
|
||||
- If they have not prepared a release, follow the Bitcoin.org release
|
||||
instructions: https://github.com/bitcoin-dot-org/bitcoin.org#release-notes
|
||||
|
||||
- After the pull request is merged, the website will automatically show the newest version within 15 minutes, as well
|
||||
as update the OS download links. Ping @saivann/@harding (saivann/harding on Freenode) in case anything goes wrong
|
||||
- Update dogecoin.com version - Langerhans to do
|
||||
|
||||
- Announce the release:
|
||||
|
||||
- bitcoin-dev and bitcoin-core-dev mailing list
|
||||
- Release sticky on Dogecoin Forums: http://forum.dogecoin.com/forum/news-community/community-announcements
|
||||
|
||||
- Bitcoin Core announcements list https://bitcoincore.org/en/list/announcements/join/
|
||||
- Dogecoin-development mailing list
|
||||
|
||||
- bitcoincore.org blog post
|
||||
- Twitter, reddit /r/dogecoin
|
||||
|
||||
- Update title of #bitcoin on Freenode IRC
|
||||
- Update title of #dogecoin on Freenode IRC
|
||||
|
||||
- Optionally twitter, reddit /r/Bitcoin, ... but this will usually sort out itself
|
||||
- Announce on reddit /r/dogecoin, /r/dogecoindev
|
||||
|
||||
- Notify BlueMatt so that he can start building [the PPAs](https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin)
|
||||
- Add release notes for the new version to the directory `doc/release-notes` in git master
|
||||
|
||||
- Archive release notes for the new version to `doc/release-notes/` (branch `master` and branch of the release)
|
||||
- To the moon!
|
||||
|
||||
- Create a [new GitHub release](https://github.com/bitcoin/bitcoin/releases/new) with a link to the archived release notes.
|
||||
|
||||
- Celebrate
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
Shared Libraries
|
||||
================
|
||||
|
||||
## bitcoinconsensus
|
||||
## dogecoinconsensus
|
||||
|
||||
The purpose of this library is to make the verification functionality that is critical to Bitcoin's consensus available to other applications, e.g. to language bindings.
|
||||
The purpose of this library is to make the verification functionality that is critical to Dogecoin's consensus available to other applications, e.g. to language bindings.
|
||||
|
||||
### API
|
||||
|
||||
The interface is defined in the C header `bitcoinconsensus.h` located in `src/script/bitcoinconsensus.h`.
|
||||
The interface is defined in the C header `dogecoinconsensus.h` located in `src/script/dogecoinconsensus.h`.
|
||||
|
||||
#### Version
|
||||
|
||||
`bitcoinconsensus_version` returns an `unsigned int` with the API version *(currently at an experimental `0`)*.
|
||||
`dogecoinconsensus_version` returns an `unsigned int` with the API version *(currently at an experimental `0`)*.
|
||||
|
||||
#### Script Validation
|
||||
|
||||
`bitcoinconsensus_verify_script` returns an `int` with the status of the verification. It will be `1` if the input script correctly spends the previous output `scriptPubKey`.
|
||||
`dogecoinconsensus_verify_script` returns an `int` with the status of the verification. It will be `1` if the input script correctly spends the previous output `scriptPubKey`.
|
||||
|
||||
##### Parameters
|
||||
- `const unsigned char *scriptPubKey` - The previous output script that encumbers spending.
|
||||
|
@ -24,26 +24,26 @@ The interface is defined in the C header `bitcoinconsensus.h` located in `src/s
|
|||
- `unsigned int txToLen` - The number of bytes for the `txTo`.
|
||||
- `unsigned int nIn` - The index of the input in `txTo` that spends the `scriptPubKey`.
|
||||
- `unsigned int flags` - The script validation flags *(see below)*.
|
||||
- `bitcoinconsensus_error* err` - Will have the error/success code for the operation *(see below)*.
|
||||
- `dogecoinconsensus_error* err` - Will have the error/success code for the operation *(see below)*.
|
||||
|
||||
##### Script Flags
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NONE`
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH` - Evaluate P2SH ([BIP16](https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki)) subscripts
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG` - Enforce strict DER ([BIP66](https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki)) compliance
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY` - Enforce NULLDUMMY ([BIP147](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki))
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY` - Enable CHECKLOCKTIMEVERIFY ([BIP65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki))
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY` - Enable CHECKSEQUENCEVERIFY ([BIP112](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki))
|
||||
- `bitcoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS` - Enable WITNESS ([BIP141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki))
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_NONE`
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_P2SH` - Evaluate P2SH ([BIP16](https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki)) subscripts
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_DERSIG` - Enforce strict DER ([BIP66](https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki)) compliance
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_NULLDUMMY` - Enforce NULLDUMMY ([BIP147](https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki))
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKLOCKTIMEVERIFY` - Enable CHECKLOCKTIMEVERIFY ([BIP65](https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki))
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_CHECKSEQUENCEVERIFY` - Enable CHECKSEQUENCEVERIFY ([BIP112](https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki))
|
||||
- `dogecoinconsensus_SCRIPT_FLAGS_VERIFY_WITNESS` - Enable WITNESS ([BIP141](https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki))
|
||||
|
||||
##### Errors
|
||||
- `bitcoinconsensus_ERR_OK` - No errors with input parameters *(see the return value of `bitcoinconsensus_verify_script` for the verification status)*
|
||||
- `bitcoinconsensus_ERR_TX_INDEX` - An invalid index for `txTo`
|
||||
- `bitcoinconsensus_ERR_TX_SIZE_MISMATCH` - `txToLen` did not match with the size of `txTo`
|
||||
- `bitcoinconsensus_ERR_DESERIALIZE` - An error deserializing `txTo`
|
||||
- `bitcoinconsensus_ERR_AMOUNT_REQUIRED` - Input amount is required if WITNESS is used
|
||||
- `dogecoinconsensus_ERR_OK` - No errors with input parameters *(see the return value of `dogecoinconsensus_verify_script` for the verification status)*
|
||||
- `dogecoinconsensus_ERR_TX_INDEX` - An invalid index for `txTo`
|
||||
- `dogecoinconsensus_ERR_TX_SIZE_MISMATCH` - `txToLen` did not match with the size of `txTo`
|
||||
- `dogecoinconsensus_ERR_DESERIALIZE` - An error deserializing `txTo`
|
||||
- `dogecoinconsensus_ERR_AMOUNT_REQUIRED` - Input amount is required if WITNESS is used
|
||||
|
||||
### Example Implementations
|
||||
- [NBitcoin](https://github.com/NicolasDorier/NBitcoin/blob/master/NBitcoin/Script.cs#L814) (.NET Bindings)
|
||||
- [node-libbitcoinconsensus](https://github.com/bitpay/node-libbitcoinconsensus) (Node.js Bindings)
|
||||
- [java-libbitcoinconsensus](https://github.com/dexX7/java-libbitcoinconsensus) (Java Bindings)
|
||||
- [bitcoinconsensus-php](https://github.com/Bit-Wasp/bitcoinconsensus-php) (PHP Bindings)
|
||||
- [node-libdogecoinconsensus](https://github.com/bitpay/node-libdogecoinconsensus) (Node.js Bindings)
|
||||
- [java-libdogecoinconsensus](https://github.com/dexX7/java-libdogecoinconsensus) (Java Bindings)
|
||||
- [dogecoinconsensus-php](https://github.com/Bit-Wasp/dogecoinconsensus-php) (PHP Bindings)
|
||||
|
|
36
doc/tor.md
36
doc/tor.md
|
@ -1,22 +1,22 @@
|
|||
TOR SUPPORT IN BITCOIN
|
||||
======================
|
||||
TOR SUPPORT IN DOGECOIN
|
||||
=======================
|
||||
|
||||
It is possible to run Bitcoin as a Tor hidden service, and connect to such services.
|
||||
It is possible to run Dogecoin as a Tor hidden service, and connect to such services.
|
||||
|
||||
The following directions assume you have a Tor proxy running on port 9050. Many distributions default to having a SOCKS proxy listening on port 9050, but others may not. In particular, the Tor Browser Bundle defaults to listening on port 9150. See [Tor Project FAQ:TBBSocksPort](https://www.torproject.org/docs/faq.html.en#TBBSocksPort) for how to properly
|
||||
configure Tor.
|
||||
|
||||
|
||||
1. Run bitcoin behind a Tor proxy
|
||||
1. Run Dogecoin behind a Tor proxy
|
||||
---------------------------------
|
||||
|
||||
The first step is running Bitcoin behind a Tor proxy. This will already make all
|
||||
The first step is running Dogecoin behind a Tor proxy. This will already make all
|
||||
outgoing connections be anonymized, but more is possible.
|
||||
|
||||
-proxy=ip:port Set the proxy server. If SOCKS5 is selected (default), this proxy
|
||||
server will be used to try to reach .onion addresses as well.
|
||||
|
||||
-onion=ip:port Set the proxy server to use for tor hidden services. You do not
|
||||
-onion=ip:port Set the proxy server to use for Tor hidden services. You do not
|
||||
need to set this if it's the same as -proxy. You can use -noonion
|
||||
to explicitly disable access to hidden service.
|
||||
|
||||
|
@ -31,27 +31,27 @@ outgoing connections be anonymized, but more is possible.
|
|||
|
||||
In a typical situation, this suffices to run behind a Tor proxy:
|
||||
|
||||
./bitcoin -proxy=127.0.0.1:9050
|
||||
./dogecoin -proxy=127.0.0.1:9050
|
||||
|
||||
|
||||
2. Run a bitcoin hidden server
|
||||
2. Run a Dogecoin hidden server
|
||||
------------------------------
|
||||
|
||||
If you configure your Tor system accordingly, it is possible to make your node also
|
||||
reachable from the Tor network. Add these lines to your /etc/tor/torrc (or equivalent
|
||||
config file):
|
||||
|
||||
HiddenServiceDir /var/lib/tor/bitcoin-service/
|
||||
HiddenServicePort 8333 127.0.0.1:8333
|
||||
HiddenServicePort 18333 127.0.0.1:18333
|
||||
HiddenServiceDir /var/lib/tor/dogecoin-service/
|
||||
HiddenServicePort 22556 127.0.0.1:22556
|
||||
HiddenServicePort 44556 127.0.0.1:44556
|
||||
|
||||
The directory can be different of course, but (both) port numbers should be equal to
|
||||
your bitcoind's P2P listen port (8333 by default).
|
||||
your dogecoind's P2P listen port (22556 by default).
|
||||
|
||||
-externalip=X You can tell bitcoin about its publicly reachable address using
|
||||
-externalip=X You can tell Dogecoin about its publicly reachable address using
|
||||
this option, and this can be a .onion address. Given the above
|
||||
configuration, you can find your onion address in
|
||||
/var/lib/tor/bitcoin-service/hostname. Onion addresses are given
|
||||
/var/lib/tor/dogecoin-service/hostname. Onion addresses are given
|
||||
preference for your node to advertise itself with, for connections
|
||||
coming from unroutable addresses (such as 127.0.0.1, where the
|
||||
Tor proxy typically runs).
|
||||
|
@ -68,7 +68,7 @@ your bitcoind's P2P listen port (8333 by default).
|
|||
|
||||
In a typical situation, where you're only reachable via Tor, this should suffice:
|
||||
|
||||
./bitcoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
|
||||
./dogecoind -proxy=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -listen
|
||||
|
||||
(obviously, replace the Onion address with your own). It should be noted that you still
|
||||
listen on all devices and another node could establish a clearnet connection, when knowing
|
||||
|
@ -79,14 +79,14 @@ your address. To mitigate this, additionally bind the address of your Tor proxy:
|
|||
If you don't care too much about hiding your node, and want to be reachable on IPv4
|
||||
as well, use `discover` instead:
|
||||
|
||||
./bitcoind ... -discover
|
||||
./dogecoind ... -discover
|
||||
|
||||
and open port 8333 on your firewall (or use -upnp).
|
||||
and open port 22556 on your firewall (or use -upnp).
|
||||
|
||||
If you only want to use Tor to reach onion addresses, but not use it as a proxy
|
||||
for normal IPv4/IPv6 communication, use:
|
||||
|
||||
./bitcoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
|
||||
./dogecoin -onion=127.0.0.1:9050 -externalip=57qr3yd1nyntf5k.onion -discover
|
||||
|
||||
3. Automatically listen on Tor
|
||||
--------------------------------
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
Translation Strings Policy
|
||||
===========================
|
||||
|
||||
This document provides guidelines for internationalization of the Bitcoin Core software.
|
||||
This document provides guidelines for internationalization of the Dogecoin Core software.
|
||||
|
||||
How to translate?
|
||||
------------------
|
||||
|
|
|
@ -32,7 +32,7 @@ trigger cache-invalidation and rebuilds as necessary.
|
|||
|
||||
These caches can be manually removed if necessary. This is one of the very few
|
||||
manual operations that is possible with Travis, and it can be done by the
|
||||
Bitcoin Core committer via the Travis web interface.
|
||||
Dogecoin Core committer via the Travis web interface.
|
||||
|
||||
In some cases, secure strings may be needed for hiding sensitive info such as
|
||||
private keys or URLs. The travis client may be used to create these strings:
|
||||
|
|
20
doc/zmq.md
20
doc/zmq.md
|
@ -5,8 +5,8 @@ connections, inter-process communication, and shared-memory,
|
|||
providing various message-oriented semantics such as publish/subscribe,
|
||||
request/reply, and push/pull.
|
||||
|
||||
The Bitcoin Core daemon can be configured to act as a trusted "border
|
||||
router", implementing the bitcoin wire protocol and relay, making
|
||||
The Dogecoin Core daemon can be configured to act as a trusted "border
|
||||
router", implementing the dogecoin wire protocol and relay, making
|
||||
consensus decisions, maintaining the local blockchain database,
|
||||
broadcasting locally generated transactions into the network, and
|
||||
providing a queryable RPC interface to interact on a polled basis for
|
||||
|
@ -33,7 +33,7 @@ buffering or reassembly.
|
|||
|
||||
## Prerequisites
|
||||
|
||||
The ZeroMQ feature in Bitcoin Core requires ZeroMQ API version 4.x or
|
||||
The ZeroMQ feature in Dogecoin Core requires ZeroMQ API version 4.x or
|
||||
newer. Typically, it is packaged by distributions as something like
|
||||
*libzmq3-dev*. The C++ wrapper for ZeroMQ is *not* needed.
|
||||
|
||||
|
@ -45,7 +45,7 @@ operation.
|
|||
|
||||
By default, the ZeroMQ feature is automatically compiled in if the
|
||||
necessary prerequisites are found. To disable, use --disable-zmq
|
||||
during the *configure* step of building bitcoind:
|
||||
during the *configure* step of building dogecoind:
|
||||
|
||||
$ ./configure --disable-zmq (other options)
|
||||
|
||||
|
@ -66,8 +66,8 @@ address. The same address can be used in more than one notification.
|
|||
|
||||
For instance:
|
||||
|
||||
$ bitcoind -zmqpubhashtx=tcp://127.0.0.1:28332 \
|
||||
-zmqpubrawtx=ipc:///tmp/bitcoind.tx.raw
|
||||
$ dogecoind -zmqpubhashtx=tcp://127.0.0.1:28332 \
|
||||
-zmqpubrawtx=ipc:///tmp/dogecoind.tx.raw
|
||||
|
||||
Each PUB notification has a topic and body, where the header
|
||||
corresponds to the notification type. For instance, for the
|
||||
|
@ -75,7 +75,7 @@ notification `-zmqpubhashtx` the topic is `hashtx` (no null
|
|||
terminator) and the body is the hexadecimal transaction hash (32
|
||||
bytes).
|
||||
|
||||
These options can also be provided in bitcoin.conf.
|
||||
These options can also be provided in dogecoin.conf.
|
||||
|
||||
ZeroMQ endpoint specifiers for TCP (and others) are documented in the
|
||||
[ZeroMQ API](http://api.zeromq.org/4-0:_start).
|
||||
|
@ -87,9 +87,9 @@ arriving. Please see `contrib/zmq/zmq_sub.py` for a working example.
|
|||
|
||||
## Remarks
|
||||
|
||||
From the perspective of bitcoind, the ZeroMQ socket is write-only; PUB
|
||||
From the perspective of dogecoind, the ZeroMQ socket is write-only; PUB
|
||||
sockets don't even have a read function. Thus, there is no state
|
||||
introduced into bitcoind directly. Furthermore, no information is
|
||||
introduced into dogecoind directly. Furthermore, no information is
|
||||
broadcast that wasn't already received from the public P2P network.
|
||||
|
||||
No authentication or authorization is done on connecting clients; it
|
||||
|
@ -102,5 +102,5 @@ retrieve the chain from the last known block to the new tip.
|
|||
|
||||
There are several possibilities that ZMQ notification can get lost
|
||||
during transmission depending on the communication type your are
|
||||
using. Bitcoind appends an up-counting sequence number to each
|
||||
using. Dogecoind appends an up-counting sequence number to each
|
||||
notification which allows listeners to detect lost notifications.
|
||||
|
|
Loading…
Reference in New Issue