CryptoNote is an application layer protocol designed for use with cryptocurrencies that aims to solve specific problems identified in Bitcoin.
via Wikipedia infobox
Good name must be unique. Check uniqueness with google and Map of Coins or any other similar service. Be default CryptoNote provides emission formula with slight decrease of block reward with each block. This is different from Bitcoin where block reward halves every 4 years. EMISSION SPEED FACTOR constant defines emission curve slope. This parameter is required to calulate block reward. Difficulty target is an ideal time period between blocks. In case an average time between blocks becomes less than difficulty target, the difficulty increases. Difficulty target is measured in seconds. In case you are not satisfied with CryptoNote default implementation of block reward logic you can also change it. The implementation is in src/cryptonote core/Currency.cpp : This function has two parts: basic block reward calculation: uint64 t baseReward = (m moneySupply - alreadyGeneratedCoins) m emissionSpeedFactor; big block penalty calculation: this is the way CryptoNote protects the block chain from transaction flooding attacks and preserves opportunities for organic network growth at the same time. Only the first part of this function is directly related to the emission logic. You can change it the way you want. See MonetaVerde and DuckNote as the examples where this function is modified. It's better to choose ports that aren't used by other software or coins. See known TCP ports lists: This identifier is used in network packages in order not to mix two different cryptocoin networks. Change all the bytes to random values for your network: Zero minimum fee can lead to transaction flooding. Transactions cheaper than the minimum transaction fee wouldn't be accepted by daemons. 100000 value for MINIMUM FEE is usually enough. CryptoNote protects chain from tx flooding by reducing block reward for blocks larger than the median block size. However, this rule applies for blocks larger than CRYPTONOTE BLOCK GRANTED FULL REWARD ZONE bytes. You may choose a letter (in some cases several letters) all the coin's public addresses will start with. It is defined by CRYPTONOTE PUBLIC ADDRESS BASE58 PREFIX constant. Since the rules for address prefixes are nontrivial you may use the prefix generator tool. You should leave const char GENESIS COINBASE TX HEX[] blank and compile the binaries without it. Run your daemon with --print-genesis-tx argument. It will print out the genesis block coinbase transaction hash. Recompile everything again. Your coin code is ready now. Make an announcement for the potential users and enjoy! On Windows Dependencies: MSVC 2012 or later, CMake 2.8.6 or later, and Boost 1.55. You may download them from:
~2 min read
CryptoNote is an application layer protocol designed for use with cryptocurrencies that aims to solve specific problems identified in Bitcoin.
The protocol powers several decentralized privacy-oriented cryptocurrencies, including Monero, Zano, MobileCoin and Safex Cash.
Excerpt from the source-code README · 8,112 chars · not written by Vinony
via Wikidata · CC0
via Wikidata sitelinks · CC0
Discovered by embedding cosine similarity (sentence-transformers MiniLM, 384-dim).