Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup developer docs #646

Merged
merged 14 commits into from
Feb 21, 2019
8 changes: 4 additions & 4 deletions doc/Doxyfile.in
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.

PROJECT_NAME = "UnitE Core"
PROJECT_NAME = "unit-e"

# 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
Expand All @@ -51,7 +51,7 @@ PROJECT_BRIEF = "P2P Digital Currency"
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.

PROJECT_LOGO = doc/unite_logo_doxygen.png
PROJECT_LOGO = doc/unit-e_logo_doxygen.png

# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
Expand Down Expand Up @@ -1265,15 +1265,15 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_DOCSET is set to YES.

DOCSET_BUNDLE_ID = org.unite.UnitE-Core
DOCSET_BUNDLE_ID = io.unit-e

# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
# The default value is: org.doxygen.Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.

DOCSET_PUBLISHER_ID = org.unite.UnitE-Core
DOCSET_PUBLISHER_ID = io.unit-e

# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
# The default value is: Publisher.
Expand Down
81 changes: 32 additions & 49 deletions doc/README.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,37 @@
UnitE Core
=============
# unit-e developer documentation

Setup
---------------------
UnitE Core is the original UnitE client and it builds the backbone of the network. It downloads and, by default, stores the entire history of UnitE transactions (which is currently more than 100 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.
This directory collects documentation primarily targeted at developers working
on the unit-e client itself.

To download UnitE Core, visit [bitcoincore.org](https://bitcoincore.org/en/releases/).
*Note: Most of this documentation has been inherited from upstream but not
everything has been tested extensively with unit-e yet. If you see any issues
please report them as GitHub issues or submit a pull request to fix them.*

Running
---------------------
The following are some helpful notes on how to run UnitE on your native platform.
## Building

### Unix

Unpack the files into a directory and run:

- `bin/unite-qt` (GUI) or
- `bin/united` (headless)

### Windows

Unpack the files into a directory, and then run unite-qt.exe.

### OS X

Drag UnitE-Core to your applications folder, and then run UnitE-Core.

### Need Help?

* See the documentation at the [UnitE Wiki](https://en.unite.it/wiki/Main_Page)
for help and more information.
* Ask for help on [#unite](http://webchat.freenode.net?channels=unite) on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net?channels=unite).
* Ask for help on the [UnitETalk](https://bitcointalk.org/) forums, in the [Technical Support board](https://bitcointalk.org/index.php?board=4.0).

Building
---------------------
The following are developer notes on how to build UnitE 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 unit-e on your native
platform. They are not complete guides, but include notes on the necessary
libraries, compile flags, etc.

- [Dependencies](dependencies.md)
- [OS X Build Notes](build-osx.md)
- [Unix Build Notes](build-unix.md)
- [Windows Build Notes](build-windows.md)
- [OpenBSD Build Notes](build-openbsd.md)
- [NetBSD Build Notes](build-netbsd.md)

### Reproducible builds

- [Gitian Building Guide](gitian-building.md)
- [Deterministic OS X Dmg Notes](README_osx.md)

## Development

Development
---------------------
The UnitE repo's [root README](/README.md) contains relevant information on the development process and automated testing.
The unit-e 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/unite/doxygen/)
- [Translation Process](translation_process.md)
- [Translation Strings Policy](translation_strings_policy.md)
- [Travis CI](travis-ci.md)
Expand All @@ -61,22 +41,25 @@ The UnitE repo's [root README](/README.md) contains relevant information on the
- [Dnsseed Policy](dnsseed-policy.md)
- [Benchmarking](benchmarking.md)

### Resources
* Discuss on the [UnitETalk](https://bitcointalk.org/) forums, in the [Development & Technical Discussion board](https://bitcointalk.org/index.php?board=6.0).
* Discuss project-specific development on #unite-core-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=unite-core-dev).
* Discuss general UnitE development on #unite-dev on Freenode. If you don't have an IRC client use [webchat here](http://webchat.freenode.net/?channels=unite-dev).
## Miscellaneous

### Miscellaneous
- [Assets Attribution](assets-attribution.md)
- [Files](files.md)
- [Fuzz-testing](fuzzing.md)
- [Reduce Traffic](reduce-traffic.md)
- [Tor Support](tor.md)
- [Init Scripts (systemd/upstart/openrc)](init.md)
- [ZMQ](zmq.md)

License
---------------------
## License

Distributed under the [MIT software license](/COPYING).
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 ([[email protected]](mailto:[email protected])), and UPnP software written by Thomas Bernard.

This product includes software developed by [The Bitcoin Core
developers](https://github.com/bitcoin/bitcoin). 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 ([[email protected]](mailto:[email protected])), and UPnP
software written by Thomas Bernard.

Attribution of assets can be found at
[contrib/debian/copyright](../contrib/debian/copyright).
12 changes: 6 additions & 6 deletions doc/README_windows.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
UnitE Core
unit-e
=============

Intro
-----
UnitE is a free open source peer-to-peer electronic cash system that is
Unit-e 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.
Expand All @@ -13,11 +13,11 @@ Setup
-----
Unpack the files into a directory and run unite-qt.exe.

UnitE Core is the original UnitE client and it builds the backbone of the network.
However, it downloads and stores the entire history of UnitE transactions;
unit-e is the original Unit-e client and it builds the backbone of the network.
However, it downloads and stores the entire history of Unit-e 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 unite wiki at:
https://en.unite.it/wiki/Main_Page
See the unit-e git repository at:
https://github.com/dtr-org/unit-e
for more help and information.
2 changes: 1 addition & 1 deletion doc/REST-interface.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Only supports JSON as output format.

The getutxo command allows querying of the UTXO set given a set of outpoints.
See BIP64 for input and output serialisation:
https://github.com/unite/bips/blob/master/bip-0064.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki

Example:
```
Expand Down
1 change: 0 additions & 1 deletion doc/assets-attribution.md

This file was deleted.

4 changes: 2 additions & 2 deletions doc/benchmarking.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
Benchmarking
============

UnitE Core has an internal benchmarking framework, with benchmarks
unit-e has an internal benchmarking framework, with benchmarks
for cryptographic algorithms such as SHA1, SHA256, SHA512 and RIPEMD160. As well as the rolling bloom filter.

Running
---------------------
After compiling unite-core, the benchmarks can be run with:
After compiling unit-e, the benchmarks can be run with:

src/bench/bench_unite

Expand Down
6 changes: 3 additions & 3 deletions doc/bips.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
BIPs that are implemented by UnitE Core (up-to-date up to **v0.16.0**):
BIPs that are implemented by unit-e (up-to-date up to **v0.16.0**):

* [`BIP 9`](https://github.com/unite/bips/blob/master/bip-0009.mediawiki): The changes allowing multiple soft-forks to be deployed in parallel have been implemented since **v0.12.1** ([PR #7575](https://github.com/unite/unite/pull/7575))
* [`BIP 11`](https://github.com/unite/bips/blob/master/bip-0011.mediawiki): Multisig outputs are standard since **v0.6.0** ([PR #669](https://github.com/unite/unite/pull/669)).
* [`BIP 13`](https://github.com/unite/bips/blob/master/bip-0013.mediawiki): The address format for P2SH addresses has been implemented since **v0.6.0** ([PR #669](https://github.com/unite/unite/pull/669)).
* [`BIP 14`](https://github.com/unite/bips/blob/master/bip-0014.mediawiki): The subversion string is being used as User Agent since **v0.6.0** ([PR #669](https://github.com/unite/unite/pull/669)).
* [`BIP 16`](https://github.com/unite/bips/blob/master/bip-0016.mediawiki): The pay-to-script-hash evaluation rules have been implemented since **v0.6.0**, and took effect on *April 1st 2012* ([PR #748](https://github.com/unite/unite/pull/748)).
* [`BIP 21`](https://github.com/unite/bips/blob/master/bip-0021.mediawiki): The URI format for UnitE payments has been implemented since **v0.6.0** ([PR #176](https://github.com/unite/unite/pull/176)).
* [`BIP 21`](https://github.com/unite/bips/blob/master/bip-0021.mediawiki): The URI format for Unit-e payments has been implemented since **v0.6.0** ([PR #176](https://github.com/unite/unite/pull/176)).
* [`BIP 31`](https://github.com/unite/bips/blob/master/bip-0031.mediawiki): The 'pong' protocol message (and the protocol version bump to 60001) has been implemented since **v0.6.1** ([PR #1081](https://github.com/unite/unite/pull/1081)).
* [`BIP 32`](https://github.com/unite/bips/blob/master/bip-0032.mediawiki): Hierarchical Deterministic Wallets has been implemented since **v0.13.0** ([PR #8035](https://github.com/unite/unite/pull/8035)).
* [`BIP 34`](https://github.com/unite/bips/blob/master/bip-0034.mediawiki): The rule that requires blocks to contain their height (number) in the coinbase input, and the introduction of version 2 blocks has been implemented since **v0.7.0**. The rule took effect for version 2 blocks as of *block 224413* (March 5th 2013), and version 1 blocks are no longer allowed since *block 227931* (March 25th 2013) ([PR #1526](https://github.com/unite/unite/pull/1526)).
Expand All @@ -16,7 +16,7 @@ BIPs that are implemented by UnitE Core (up-to-date up to **v0.16.0**):
* [`BIP 65`](https://github.com/unite/bips/blob/master/bip-0065.mediawiki): The CHECKLOCKTIMEVERIFY softfork was merged in **v0.12.0** ([PR #6351](https://github.com/unite/unite/pull/6351)), and backported to **v0.11.2** and **v0.10.4**. Mempool-only CLTV was added in [PR #6124](https://github.com/unite/unite/pull/6124).
* [`BIP 66`](https://github.com/unite/bips/blob/master/bip-0066.mediawiki): The strict DER rules and associated version 3 blocks have been implemented since **v0.10.0** ([PR #5713](https://github.com/unite/unite/pull/5713)).
* [`BIP 68`](https://github.com/unite/bips/blob/master/bip-0068.mediawiki): Sequence locks have been implemented as of **v0.12.1** ([PR #7184](https://github.com/unite/unite/pull/7184)), and have been activated since *block 419328*.
* [`BIP 70`](https://github.com/unite/bips/blob/master/bip-0070.mediawiki) [`71`](https://github.com/unite/bips/blob/master/bip-0071.mediawiki) [`72`](https://github.com/unite/bips/blob/master/bip-0072.mediawiki): Payment Protocol support has been available in UnitE Core GUI since **v0.9.0** ([PR #5216](https://github.com/unite/unite/pull/5216)).
* [`BIP 70`](https://github.com/unite/bips/blob/master/bip-0070.mediawiki) [`71`](https://github.com/unite/bips/blob/master/bip-0071.mediawiki) [`72`](https://github.com/unite/bips/blob/master/bip-0072.mediawiki): Payment Protocol support has been available in unit-e GUI since **v0.9.0** ([PR #5216](https://github.com/unite/unite/pull/5216)).
* [`BIP 90`](https://github.com/unite/bips/blob/master/bip-0090.mediawiki): Trigger mechanism for activation of BIPs 34, 65, and 66 has been simplified to block height checks since **v0.14.0** ([PR #8391](https://github.com/unite/unite/pull/8391)).
* [`BIP 111`](https://github.com/unite/bips/blob/master/bip-0111.mediawiki): `NODE_BLOOM` service bit added, and enforced for all peer versions as of **v0.13.0** ([PR #6579](https://github.com/unite/unite/pull/6579) and [PR #6641](https://github.com/unite/unite/pull/6641)).
* [`BIP 112`](https://github.com/unite/bips/blob/master/bip-0112.mediawiki): The CHECKSEQUENCEVERIFY opcode has been implemented since **v0.12.1** ([PR #7524](https://github.com/unite/unite/pull/7524)) and has been activated since *block 419328*.
Expand Down
4 changes: 2 additions & 2 deletions doc/build-netbsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ python27

Download the source code:
```
git clone https://github.com/unite/unite
git clone https://github.com/dtr-org/unit-e
```

See [dependencies.md](dependencies.md) for a complete overview.

### Building UnitE Core
### Building unit-e

**Important**: Use `gmake` (the non-GNU `make` will exit with an error).

Expand Down
6 changes: 3 additions & 3 deletions doc/build-openbsd.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pkg_add automake # (select highest version, e.g. 1.15)
pkg_add python # (select highest version, e.g. 3.6)
pkg_add boost

git clone https://github.com/unite/unite.git
git clone https://github.com/dtr-org/unit-e
```

See [dependencies.md](dependencies.md) for a complete overview.
Expand Down Expand Up @@ -49,7 +49,7 @@ from the root of the repository. Then set `BDB_PREFIX` for the next section:
export BDB_PREFIX="$PWD/db4"
```

### Building UnitE Core
### Building unit-e

**Important**: use `gmake`, not `make`. The non-GNU `make` will exit with a horrible error.

Expand Down Expand Up @@ -89,7 +89,7 @@ The standard ulimit restrictions in OpenBSD are very strict:
data(kbytes) 1572864

This, unfortunately, in some cases not enough to compile some `.cpp` files in the project,
(see issue [#6658](https://github.com/unite/unite/issues/6658)).
(see issue [#6658](https://github.com/bitcoin/bitcoin/issues/6658)).
If your user is in the `staff` group the limit can be raised with:

ulimit -d 3000000
Expand Down
18 changes: 9 additions & 9 deletions doc/build-osx.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,15 +40,15 @@ from the root of the repository.

**Note**: You only need Berkeley DB if the wallet is enabled (see the section *Disable-Wallet mode* below).

Build UnitE Core
Build unit-e
------------------------

1. Clone the unite source code and cd into `unite`

git clone https://github.com/unite/unite
cd unite
git clone https://github.com/dtr-org/unit-e
cd unit-e

2. Build unite-core:
2. Build unit-e:

Configure and build the headless unite binaries as well as the GUI (if Qt is found).

Expand All @@ -69,19 +69,19 @@ Build UnitE Core
Running
-------

UnitE Core is now available at `./src/united`
unit-e is now available at `./src/united`

Before running, it's recommended you create an RPC configuration file.

echo -e "rpcuser=uniterpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/UnitE/unite.conf"
echo -e "rpcuser=uniterpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/Unit-e/unite.conf"

chmod 600 "/Users/${USER}/Library/Application Support/UnitE/unite.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Unit-e/unite.conf"

The first time you run united, 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/UnitE/debug.log
tail -f $HOME/Library/Application\ Support/Unit-e/debug.log

Other commands:
-------
Expand Down Expand Up @@ -112,4 +112,4 @@ Notes

* Tested on OS X 10.8 through 10.13 on 64-bit Intel processors only.

* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/unite/unite/issues/7714)
* Building with downloaded Qt binaries is not officially supported. See the notes in [#7714](https://github.com/bitcoin/bitcoin/issues/7714)
18 changes: 9 additions & 9 deletions doc/build-unix.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
UNIX BUILD NOTES
====================
Some notes on how to build UnitE Core in Unix.
Some notes on how to build unit-e in Unix.

(for OpenBSD specific instructions, see [build-openbsd.md](build-openbsd.md))

Expand Down Expand Up @@ -56,7 +56,7 @@ Memory Requirements
--------------------

C++ compilers are memory-hungry. It is recommended to have at least 1.5 GB of
memory available when compiling UnitE Core. On systems with less, gcc can be
memory available when compiling unit-e. On systems with less, gcc can be
tuned to conserve memory with additional CXXFLAGS:


Expand Down Expand Up @@ -95,7 +95,7 @@ BerkeleyDB 5.1 or later, which break binary wallet compatibility with the distri
are based on BerkeleyDB 4.8. If you do not care about wallet compatibility,
pass `--with-incompatible-bdb` to configure.

See the section "Disable-wallet mode" to build UnitE Core without wallet.
See the section "Disable-wallet mode" to build unit-e without wallet.

Optional (see --with-miniupnpc and --enable-upnp-default):

Expand All @@ -112,7 +112,7 @@ hidapi (provides USB HID device support):
Dependencies for the GUI: Ubuntu & Debian
-----------------------------------------

If you want to build UnitE-Qt, make sure that the required packages for Qt development
If you want to build Unit-e-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`.
Expand Down Expand Up @@ -217,7 +217,7 @@ Hardening enables the following features:

To test that you have built PIE executable, install scanelf, part of paxutils, and use:

scanelf -e ./unite
scanelf -e ./unit-e

The output should contain:

Expand All @@ -232,7 +232,7 @@ Hardening enables the following features:
executable without the non-executable stack protection.

To verify that the stack is non-executable after compiling use:
`scanelf -e ./unite`
`scanelf -e ./unit-e`

the output should contain:
STK/REL/PTL
Expand Down Expand Up @@ -264,8 +264,8 @@ Setup and Build Example: Arch Linux
This example lists the steps necessary to setup and build a command line only, non-wallet distribution of the latest changes on Arch Linux:

pacman -S git base-devel boost libevent python
git clone https://github.com/unite/unite.git
cd unite/
git clone https://github.com/dtr-org/unit-e
cd unit-e
./autogen.sh
./configure --disable-wallet --without-gui --without-miniupnpc
make check
Expand All @@ -274,7 +274,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/unite/trunk/PKGBUILD).
As mentioned above, when maintaining portability of the wallet between the standard UnitE Core distributions and independently built
As mentioned above, when maintaining portability of the wallet between the standard unit-e distributions and independently built
node software is desired, Berkeley DB 4.8 must be used.


Expand Down
Loading