Changes

From Ravencoin Wiki
Jump to navigationJump to search
5,177 bytes added ,  00:16, 5 June 2020
{{#seo:
|title=Ravencoin Wiki: CodeDevelopment and Roadmap|keywords=Ravencoin roadmap development code |description=Information targeted at for developers looking to find out more about working with and users interested in the Ravencoin Blockchaindevelopment progress.
}}
 
=Introduction=
This section of the wiki aims to help document the development work done related to the Ravencoin network and provide information for developers who want to build software and tools using Ravencoin.
Open weekly or fortnightly Every two weeks developer meetings can be found on the freenode IRC network #ravencoin-dev, take place on the Ravencoin Community discord server #development-meetings channel (https://discord.gg/jn6uhur), and the Raven discord #dev-irc channel (https://discord.gg/uh6PrWh). An archive of the dev chat Aug 10th, 2018 meetings is available on Reddit (in the side panel) https://www.reddit.com/r/Ravencoin/comments. Several dev meeting summaries are available at https://www.ravencoinplatform.com/ For Ravencoin network details, see:* [http://96at36www.ravennodes.com/irc_log_from_ravencoin_open_developer_meeting_augRavennodes.com] for node statistics.* [https://rvnstats.info/Ravenstats.info] for mining difficulty, asset, hashrate, supply, block times, and more.* [https://ravencoin.network/ Ravencoin.network] for transactions, addresses, pool stats, rich list, and more.* [https://www.ravencoinburn.org/ Ravencoinburn.org] for a quick overview of burned Ravencoin. 
=Ravencoin platform development=
==Phase 1 - Ravencoin launch & mining algorithm - April Jan 3rd, 2018==
In addition to the [https://ravencoin.org/wp-content/uploads/2018/03/X16R-Whitepaper.pdf X16R algorithm], most of the core code changes are in [https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp the chainparams] file.
https://ravencoin.network/address/RXBurnXXXXXXXXXXXXXXXXXXXXXXWUo9FV
== New Mining Algorithm X16Rv2 - Oct 1st, 2019 ==[https://medium.com/@tronblack/ravencoin-asic-thoughts-e6c0079609e6 As it became evident that X16R ASICs were developed and mining Ravenvoin in July 2019], the X16R mining algorithm was adapted with a small modification to X16Rv2. This adaptation involved adding an extra hashing algorithm to three of the 16 existing ones, which greatly reduces the times an ASIC can be used (~3.5%). X16Rv2 was implemented using an [https://github.com/bitcoin/bips/blob/master/bip-0099.mediawiki#asic-reset-hardfork ASIC-reset-hardfork]. Development progress and code is available here: https://github.com/RavenCommunity ==Phase 3 - Dividends/Rewards (Aim: Q1 2019)- Feb 7th, 2020==
Rewards, also sometimes called dividends, provides a way to send tokenized assets or RVN to token holders by percentage of tokens held. Dividend support can be done without modifying the protocol. Rewards do not require a consensus protocol change, and the rpc calls exist to be able do rewards already. These capabilities just make it native and easy-to-use from the client.
* Reward those that contributed the most to a shared project and earned special tokens
==Phase 5 - Messaging (Aim: Q1 2019), OIP, and Restricted Assets - Feb 7th, 2020==
A message is "broadcast" if an owner token or channel token is sent in a transaction to the same address with the addition of an IPFS hash and an optional expiration date. The message isn't really broadcast in the sense of being transmitted to nodes, but rather each node will independently detect the special transaction type and display the message. Message display is subject to some heuristic anti-spam rules.
=== IPFS Integration ===
IPFS (Interplanetary File System) is used by Ravencoin for issuance meta-data, messaging, and transaction meta-data. Ravencoin must interact with IPFS in order to show messages because the message content is stored on IPFS. IPFS access should be on by default, but should be able to be turned off with a flag. A two phase approach will allow Ravencoin to use IPFS natively, but it will also use existing IPFS proxies. === OIP Integration ==='''(NEW)''' Open Index Protocol allows for richer meta data and will get support in Ravencoin in addition to IPFS. You can find more on what you can do with OIP [https://oip.wiki/Main_Page here]. You will have to choose between adding OIP or IPFS meta data. Fortunately, OIP metadata also allows for adding IPFS. === Restricted Assets ==='''(NEW)''' Restricted assets will be a new kind of assets that come with tags. The issuer can send tags to Ravencoin addresses that tell the entire chain that the asset can go there. The purpose of these restrictions is to limit the transferability of a token to known good actors, but without revealing the identity of the actors to anyone other than the original entity that verifies their identity. Only when legally required to do so, would the verifier reveal the identity.  It introduces 2 token types:* One starts with a $ and represents a completely new token type which is a Restricted Asset. Restricted Assets only move to Tagged addresses.* The other starts with a # and is a Tag. Tags tokens can only be transferred by the issuer. Tag tokens can be sent or revoked only by the Tag issuer. Restricted assets offer a solution to SEC compliance for security tokens: Ravencoin will allow for appending externally-validated trust from interested parties such as regulators, through intermediate Qualifiers such as KYC/AML provider consortia, down to individual addresses. Issuers of assets can leverage the tags to manage how their assets can move about the chain. In this way, affirmation of an address’ status (such as KYC/AML compliant, accredited investor, or current subscriber) is possible without exposing or replicating the addressee’s Personally Identifiable Information (PII), and where the burden of establishing and maintaining trust in these qualifying tags is borne primarily by the regulated entities and regulators that require such information in the first place.
===Resources===
* [https://github.com/RavenProject/Ravencoin/tree/master/roadmap/messaging-antispam The Roadmap for spam prevention is here on Github]
* [https://github.com/RavenProject/Ravencoin/tree/master/roadmap/ipfs The Roadmap for IPFS integration is here on Github]
* [https://medium.com/@tronblack/ravencoin-tags-and-restricted-assets-84fe3070a226 Ravencoin — Tags and Restricted Assets]
* [https://medium.com/@tronblack/ravencoin-restricted-asset-sec-compliance-how-to-1-fe507a6a4ae9 Ravencoin — Restricted Asset SEC Compliance How To]
* [https://oip.wiki/Main_Page OIP Wiki]
===Use examples===
* Use Raven messaging for other systems.
== New Mining Algorithm KAWPOW (May 6th 2020) ==To battle ASICs in the long term, Ravencoin developers are developing a new hashing algorithm: KAWPOW, which is a variant of ProgPOW with parameters specifically for Ravencoin. The change will be implemented using an [https://en.bitcoin.it/wiki/BIP_0099#ASIC-reset_hardfork ASIC reset hardfork ]. For more info on how to mine, see https://minermore.com/docs/help/ravencoin_fork/ An open source kawpowminer by Ravencoin community devs is here: https://github.com/RavenCommunity/kawpowminer/releases More info on mining here: https://medium.com/@jeroz9009/ravencoin-tutorial-kawpow-mining-748158f63e11 == BIP44 Seed Words in Raven Core Wallets (May 6th 2020) ==Ravencoin core is going to default to using BIP44 starting with version 4. The iOS and Android RVN Wallet is already BIP44, and Mango Farms web wallet is also BIP44.If you’ve already created a wallet before the version 4 release, then it will continue to use just the BIP32 HD derivation and should be backwards compatible with your existing wallet.dat file. If Ravencoin core does not find a wallet.dat, it will prompt you and give you 12-words to write down as your backup. You should still encrypt your wallet and never forget your password. See: https://blog.ravencoin.email/post/ravencoin-bip44 ==Phase 6 - Voting (Aim: Q2 2019Q4 2020 or later)==
Ravencoin will support voting. Creating a vote will create vote tokens. These vote tokens are identical to normally issued tokens, except that they are created in exact qty and units as an already issued token. Vote tokens move just like regular tokens up until the block height when the vote expires. This allows vote token holders to send their vote to a delegate that might have better information about the topic and therefore cast a more informed vote. The feature will also allow voting by percentage of ownership. Second tier web voting can be built on top of this protocol.
* Send to <address Y> to vote for Y proposal
==Phase 7 - Compatible Mode(Kawwwmeleon)==Allows newly created assets '''04/01/2019 Dev Meeting update''' The idea is to allow ravend to appear exactly act as a daemon that looks like RVNa single coin/token/asset. To realize this, LTCthe ravend daemon should be reconfigurable to listen to a transfer RPC call such as senttoaddress or sendfrom, or Bitcoin but in this case it would be for a specific asset and not Ravencoin. This would allow easy asset integration into exchangesexisting systems.  ===Example===The config for the asset FREE_HUGS might look like: {"port":2222, wallets"asset":"FREE_HUGS", explorers"rpcuser":"hugger", etc."rpcpass":"gi3afja33"} This speeds adoption into So, sendtoaddress on the larger crypto ecosystemnew port (non-RVN port) would send FREE_HUGS.
=Using the Ravencoin platform=

Navigation menu