- Add an explicit memory bound to m_tx_process_time
Previously there was an implicit bound based on the handling
of m_tx_announced, but that approach is error-prone
(particularly if we start automatically removing things from
that set).
- Remove NOTFOUND transactions from in-flight data structures
This prevents a bug where the in-flight queue for our peers
will not be drained, resulting in not downloading any new
transactions from our peers.
- Expire old entries from the in-flight tx map
If a peer hasn't responded to a getdata request, eventually
time out the request and remove it from the in-flight data
structures. This is to prevent any bugs in our handling of
those in-flight data structures from filling up the
in-flight map and preventing us from requesting more
transactions (such as the NOTFOUND bug mentioned above).
- Fix bug around transaction requests
If a transaction is already in-flight when a peer announces
a new tx to us, we schedule a time in the future to
reconsider whether to download. At that future time, there
was a bug that would prevent transactions from being
rescheduled for potential download again (ie if the
transaction was still in-flight at the time of
reconsideration, such as from some other peer). This fixes
that bug.
- Improve NOTFOUND comment
Cherry-picked from: 218697b6, 23163b75, e32e0840, f635a3ba
and 308b7673
Co-authored-by: Anthony Towns <aj@erisian.com.au>
Dogecoin Core [DOGE, Ð]
Select language: EN | CN
Dogecoin is a community-driven cryptocurrency that was inspired by a Shiba Inu meme. The Dogecoin Core software allows anyone to operate a node in the Dogecoin blockchain networks and uses the Scrypt hashing method for Proof of Work. It is adapted from Bitcoin Core and other cryptocurrencies.
For information about the default fees used on the Dogecoin network, please refer to the fee recommendation.
Website: dogecoin.com
Usage 💻
To start your journey with Dogecoin Core, see the installation guide and the getting started tutorial.
The JSON-RPC API provided by Dogecoin Core is self-documenting and can be browsed with dogecoin-cli help, while detailed information for each command can be viewed with dogecoin-cli help <command>. Alternatively, see the Bitcoin Core documentation - which implement a similar protocol - to get a browsable version.
Such ports
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.
| 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 is used to follow planned and in-progress work for upcoming releases.
- GitHub Discussion 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
Version strategy
Version numbers are following major.minor.patch semantics.
Branches
There are 3 types of branches in this repository:
- 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
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.
Contributing 🤝
If you find a bug or experience issues with this software, please report it using the issue system.
Please see the contribution guide to see how you can participate in the development of Dogecoin Core. There are often topics seeking help where your contributions will have high impact and get very appreciation. wow.
Communities 🚀🍾
You can join the communities on different social media. To see what's going on, meet people & discuss, find the latest meme, learn about Dogecoin, give or ask for help, to share your project.
Here are some places to visit:
Very Much Frequently Asked Questions ❓
Do you have a question regarding Dogecoin? An answer is perhaps already in the FAQ or the Q&A section of the discussion board!
License - Much license ⚖️
Dogecoin Core is released under the terms of the MIT license. See COPYING for more information or see opensource.org