-
Notifications
You must be signed in to change notification settings - Fork 786
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #487 from steemit/sneak/documentationupdate
refactored documentation
- Loading branch information
Showing
8 changed files
with
333 additions
and
242 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,137 +1,86 @@ | ||
Introducing Steem (beta) | ||
----------------- | ||
# Introducing Steem (beta) | ||
|
||
Steem is an experimental Proof of Work blockchain with an unproven consensus | ||
algorithm. | ||
|
||
- Currency Symbol STEEM | ||
- Currency symbol STEEM | ||
- 1.000 STEEM block reward at launch | ||
- Approximately 100% APR long term inflation rate | ||
|
||
Public Announcement & Discussion | ||
-------------------------------- | ||
# Public Announcement & Discussion | ||
|
||
Steem was announced on [Bitcointalk](https://bitcointalk.org/index.php?topic=1410943.new) prior to the start of any mining. | ||
Steem was announced on the | ||
[Bitcointalk forum](https://bitcointalk.org/index.php?topic=1410943.new) prior to | ||
the start of any mining. | ||
|
||
# No Support & No Warranty | ||
|
||
No Support & No Warranty | ||
------------------------ | ||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||
THE SOFTWARE. | ||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
IN THE SOFTWARE. | ||
|
||
Code is Documentation | ||
--------------------- | ||
# Code is Documentation | ||
|
||
Rather than attempt to describe the rules of the blockchain, it is up to | ||
each individual to inspect the code to understand the consensus rules. | ||
|
||
Seed Nodes | ||
---------- | ||
|
||
xeldal 45.55.217.111:12150 (USA) | ||
ihashfury 104.168.154.160:40696 | ||
lafona 52.4.250.181:39705 | ||
steempty 109.74.206.93:2001 steem.clawmap.com (UK) | ||
steem-id 45.114.118.146:2001 (Indonesia) | ||
cyrano.witness 81.89.101.133:2001 (Jena, Germany) | ||
kushed 40.76.37.6:2001 steem.kushed.com (Azure) | ||
nextgencrypto 104.207.152.44:2201 steemwitness.com (Los Angeles, USA) | ||
pharesim 78.46.32.4 steemd.pharesim.me (Falkenstein, German) | ||
liondani 212.117.213.186:2016 (Switzerland) | ||
someguy123 199.241.186.130:2001 steemit-seed.someguy123.com:2001 | ||
smooth.witness 52.74.152.79:2001 | ||
|
||
52.38.66.234:2001 | ||
52.37.169.52:2001 | ||
52.26.78.244:2001 | ||
192.99.4.226:2001 | ||
46.252.27.1:1337 | ||
81.89.101.133:2001 | ||
52.4.250.181:39705 | ||
steemd.pharesim.me:2001 | ||
seed.steemed.net:2001 | ||
steem.clawmap.com:2001 | ||
seed.steemwitness.com:2001 | ||
steem-seed1.abit-more.com:2001 | ||
|
||
|
||
How to Mine | ||
----------- | ||
|
||
The mining algorithm used by Steem requires the owner to have access to the private key | ||
used by the account. This means it does not favor mining pools. | ||
|
||
./steemd --miner=["accountname","${WIFPRIVATEKEY}"] --witness="accountname" --seed-node="52.38.66.234:2001" | ||
|
||
Make sure that your accountname is unique and not already used by someone else or your proof of work | ||
might not be accepted by the blockchain. | ||
# Quickstart | ||
|
||
OS-specific build instructions | ||
------------------------------ | ||
Just want to get up and running quickly? Try deploying a prebuilt | ||
dockerized container. Both common binary types are included. | ||
|
||
See [here](doc/build-ubuntu.md) for Linux and [here](doc/build-osx.md) for OSX (Apple). | ||
## Dockerized p2p Node | ||
|
||
cmake Build Options | ||
-------------------------- | ||
To run a p2p node (ca. 2GB of memory is required at the moment): | ||
|
||
### CMAKE_BUILD_TYPE=[Release/Debug] | ||
docker run \ | ||
-d -p 2001:2001 -p 8090:8090 --name steemd-default \ | ||
steemit/steem | ||
|
||
Specifies whether to build with or without optimization and without or with the symbol table for debugging. Unless you are specifically | ||
debugging or running tests, it is recommended to build as release. | ||
docker logs -f steemd-default # follow along | ||
|
||
### LOW_MEMORY_NODE=[OFF/ON] | ||
## Dockerized Full Node | ||
|
||
Builds steemd to be a consensus only low memory node. Data and fields not needed for consensus are not stored in the object database. | ||
This option is recommended for witnesses and seed-nodes. | ||
To run a node with *all* the data (e.g. for supporting a content website) | ||
that uses ca. 14GB of memory and growing: | ||
|
||
### ENABLE_CONTENT_PATCHING=[ON/OFF] | ||
docker run \ | ||
--env USE_WAY_TOO_MUCH_RAM=1 \ | ||
-d -p 2001:2001 -p 8090:8090 --name steemd-full \ | ||
steemit/steem | ||
|
||
Allows content to be updated using a patch rather than a complete replacement. | ||
If you do not need an API server or need to see the result of patching content then you can set this to OFF. | ||
docker logs -f steemd-full | ||
|
||
### CLEAR_VOTES=[ON/OFF] | ||
# Seed Nodes | ||
|
||
Clears old votes from memory that are not longer required for consensus. | ||
A list of some seed nodes to get you started can be found in | ||
[doc/seednodes.txt](doc/seednodes.txt). | ||
|
||
### BUILD_STEEM_TESTNET=[OFF/ON] | ||
This same file is baked into the docker images and can be overridden by | ||
setting `STEEMD_SEED_NODES` in the container environment at `docker run` | ||
time to a whitespace delimited list of seed nodes (with port). | ||
|
||
Builds steemd for use in a private testnet. Also required for correctly building unit tests | ||
# How to Mine | ||
|
||
Testing | ||
------- | ||
The mining algorithm used by Steem requires the owner to have access to the | ||
private key used by the account. This means it does not favor mining pools. | ||
|
||
The unit test target is `make chain_test` | ||
This creates an executable `./tests/chain_test` that will run all unit tests. | ||
./steemd --miner=["accountname","${WIFPRIVATEKEY}"] \ | ||
--witness="accountname" --seed-node="52.38.66.234:2001" | ||
|
||
Tests are broken in several categories: | ||
``` | ||
basic_tests // Tests of "basic" functionality | ||
block_tests // Tests of the block chain | ||
live_tests // Tests on live chain data (currently only past hardfork testing) | ||
operation_tests // Unit Tests of Steem operations | ||
operation_time_tests // Tests of Steem operations that include a time based component (ex. vesting withdrawals) | ||
serialization_tests // Tests related of serialization | ||
``` | ||
Make sure that your accountname is unique and not already used by someone | ||
else or your proof of work might not be accepted by the blockchain. | ||
|
||
Code Coverage Testing | ||
--------------------- | ||
# Building | ||
|
||
If you have not done so, install lcov `brew install lcov` | ||
See [doc/building.md](doc/building.md) for detailed build instructions, including | ||
compile-time options, and specific commands for Linux (Ubuntu LTS) or macOS X. | ||
|
||
``` | ||
cmake -D BUILD_STEEM_TESTNET=ON -D ENABLE_COVERAGE_TESTING=true -D CMAKE_BUILD_TYPE=Debug . | ||
make | ||
lcov --capture --initial --directory . --output-file base.info --no-external | ||
tests/chain_test | ||
lcov --capture --directory . --output-file test.info --no-external | ||
lcov --add-tracefile base.info --add-tracefile test.info --output-file total.info | ||
lcov -o interesting.info -r total.info tests/\* | ||
mkdir -p lcov | ||
genhtml interesting.info --output-directory lcov --prefix `pwd` | ||
``` | ||
# Testing | ||
|
||
Now open `lcov/index.html` in a browser | ||
See [doc/testing.md](doc/testing.md) for test build targets and info | ||
on how to use lcov to check code test coverage. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.