While limitations on the influence of attackers on addrman already
exist (affected buckets are restricted to a subset based on incoming
IP / network group), there is no reason to permit them to let them
feed us addresses at more than a multiple of the normal network
rate.
This commit introduces a "token bucket" rate limiter for the
processing of addresses in incoming ADDR messages. Every connection
gets an associated token bucket. Processing an address in an ADDR
message from non-whitelisted peers consumes a token from the bucket.
If the bucket is empty, the address is ignored (it is not processed,
stored or forwarded). The token counter increases at a rate of 0.1
tokens per second, and will accrue up to a maximum of 1000 tokens
(the maximum we accept in a single ADDR message).
When a GETADDR is sent to a peer, it immediately gets 1000 additional
tokens, as we actively desire many addresses from such peers (this
may temporarily cause the token count to exceed 1000). This is
similar to allowing bursts.
The rate limit of 0.1 addr/s was copied from Bitcoin Core.
Backported from: 0d64b8f7, 5648138f, f424d601 and d930c7f5
Original authors: Pieter Wuille <pieter@wuille.net>, and
Jon Atack <jon@atack.com>
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