diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 181 |
1 files changed, 61 insertions, 120 deletions
@@ -7,32 +7,55 @@ Dogecoin Core [DOGE, Ð] <div align="center"> [](https://dogecoin.com) -[](https://travis-ci.com/dogecoin/dogecoin) [](https://dogecoin.com) </div> -Select Doc Language: ENG | [CN_simplified](./README_zh_CN.md) | [more...](./README.md) +Select language: EN | [CN](./README_zh_CN.md) 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. -- **Website:** [dogecoin.com](https://dogecoin.com) -## License – Much license ⚖️ -Dogecoin Core is released under the terms of the MIT license. See -[COPYING](COPYING) for more information or see -[opensource.org](https://opensource.org/licenses/MIT) +**Website:** [dogecoin.com](https://dogecoin.com) + +## Installation 💻 + +Please see [the installation guide](INSTALL.md) for information about installing +Dogecoin Core. + +### Such ports -## 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. +Dogecoin Core by default uses port `22556` for peer-to-peer communication that +is needed to synchronize the "mainnet" blockchain and stay informed of new +transactions and blocks. Additionally, a JSONRPC port can be opened, which +defaults to port `22555` for mainnet nodes. It is strongly recommended to not +expose RPC ports to the public internet. -#### Version strategy +| Function | mainnet | testnet | regtest | +| :------- | ------: | ------: | ------: | +| P2P | 22556 | 44556 | 18444 | +| RPC | 22555 | 44555 | 18332 | + +## Ongoing development - Moon plan 🌒 + +Dogecoin Core is an open source and community driven software. The development +process is open and publicly visible; anyone can see, discuss and work on the +software. + +Main development resources: + +* [Github Projects](https://github.com/dogecoin/dogecoin/projects) is used to + follow planned and in-progress work for upcoming releases. +* [Github Discussion](https://github.com/dogecoin/dogecoin/discussions) is used + to discuss features, planned and unplanned, related to both the development of + the Dogecoin Core software, the underlying protocols and the DOGE asset. +* [Dogecoindev subreddit](https://www.reddit.com/r/dogecoindev/) + +### Version strategy Version numbers are following ```major.minor.patch``` semantics. -#### Branches +### Branches There are 3 types of branches in this repository: - **master:** Stable, contains the latest version of the latest *major.minor* release. @@ -44,119 +67,37 @@ There are 3 types of branches in this repository: *submitted against those. Maintenance branches are there for **bug fixes only,*** *please submit new features against the development branch with the highest version.* -#### 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 -(assuming they weren't disabled in configure) with: `make check`. Further details on running -and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). - -There are also [regression and integration tests](/qa) of the RPC interface, written -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` +## Contributing 🤝 -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. +If you find a bug or experience issues with this software, please report it +using the [issue system](https://github.com/dogecoin/dogecoin/issues/new?assignees=&labels=bug&template=bug_report.md&title=%5Bbug%5D+). -## Very Much Frequently Asked Questions ❓ - -### How much doge can exist? – So many puppies! 🐕 -Early 2015 (approximately a year and a half after release) there were -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. - - -### Such mining information ⛏ - -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 issued. - -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. - -**The current block reward schedule:** - -| Block | Reward in Dogecoin | -| :------------------- | -----------------: | -| 1–99,999 | 0–1,000,000 | -| 100,000–144,999 | 0–500,000 | -| 145,000–199,999 | 250,000 | -| 200,000–299,999 | 125,000 | -| 300,000–399,999 | 62,500 | -| 400,000–499,999 | 31,250 | -| 500,000–599,999 | 15,625 | -| 600,000+ | 10,000 | - -**The original block reward schedule, with one-minute block targets and four-hour difficulty readjustment:** - -| Block | Reward in Dogecoin | -| :------------------- | -----------------: | -| 1–99,999 | 0–1,000,000 | -| 100,000–199,999 | 0–500,000 | -| 200,000–299,999 | 0–250,000 | -| 300,000–399,999 | 0–125,000 | -| 400,000–499,999 | 0–62,500 | -| 500,000–599,999 | 0–31,250 | -| 600,000+ | 10,000 | - -### 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-windows.md) - -### Such ports - -- RPC 22555 -- P2P 22556 - -## Development tips and tricks - -**compiling for debugging** +Please see [the contribution guide](CONTRIBUTING.md) to see how you can +participate in the development of Dogecoin Core. There are often +[topics seeking help](https://github.com/dogecoin/dogecoin/labels/help%20wanted) +where your contributions will have high impact and get very appreciation. wow. -Run `configure` with the `--enable-debug` option, then `make`. Or run `configure` with -`CXXFLAGS="-g -ggdb -O0"` or whatever debug flags you need. +## Communities 🚀🍾 -**debug.log** +You can join the communities on different social media. +To see what's going on, meet people & discuss, find the lastest meme, learn +about Dogecoin, give or ask for help, to share your project. -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. +Here are some places to visit: -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). +* [Dogecoin subreddit](https://www.reddit.com/r/dogecoin/) +* [Dogeducation subreddit](https://www.reddit.com/r/dogeducation/) +* [Discord](https://discord.gg/dogecoin) +* [Dogecoin Twitter](https://twitter.com/dogecoin) -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. +## Very Much Frequently Asked Questions ❓ -**DEBUG_LOCKORDER** +Do you have a question regarding Dogecoin? An answer is perhaps already in the +[FAQ](doc/FAQ.md) or the +[Q&A section](https://github.com/dogecoin/dogecoin/discussions/categories/q-a) +of the discussion board! -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. +## License - Much license ⚖️ +Dogecoin Core is released under the terms of the MIT license. See +[COPYING](COPYING) for more information or see +[opensource.org](https://opensource.org/licenses/MIT) |