Changes

From Ravencoin Wiki
Jump to navigationJump to search
550 bytes removed ,  20:41, 11 October 2018
Major update to this page. Please review.
=Ravencoin protocol platform development=
Currently organized into and based on Tron his talk at the phases of Ravencoin NH meetup (October 11, 2018): [https://githubdocs.google.com/RavenProjectpresentation/Ravencoind/tree1hMavh6kYHXBatv-36RCOWeyziypA2CRWoXNk6GDjQy8/master/roadmap the roadmapedit#slide=id.g4338d831a6_0_12] - this structure will probably change as the project matures.
==Phase 1- Ravencoin launch & mining algorithm==
In addition to the X16R algorithm, most of the core code changes are in [https://github.com/RavenProject/Ravencoin/blob/master/src/chainparams.cpp the chainparams] file.
If you are looking to port existing Bitcoin applications to include Ravencoin - there are some useful parameters available from work done in the [https://github.com/brian112358/ledger-wallet-chrome/commit/303f5030059c805d808c83466275e078d06afbb5 Ledger integration code on GitHub].
Summarised Summarized on the wiki page: '''[[Ledger integration]]'''
If you are looking for typical parameters needed for wallet integration - there is a summary on the '''[[Wallet integration]]''' page.
It's worth mentioning, whilst we all try to keep these pages up to date, the RavenProject code on GitHub could change and these pages could become out of sync. Please validate on [https://github.com/RavenProject/Ravencoin https://github.com/RavenProject/Ravencoin].
==Phase 2 &4 - Assets & Unique assets ==
Asset testnet live. Check [[testnet]] for more details, and [[Testnet-technical]] for details about the anatomy of a Ravencoin asset transaction script.
(20 Aug 2018) In addition to asset functionality being on available to test on testnet - Ravencoin is forking to include Dark Gravity Wave to protect itself against hash rate attacks - exchanges and mining pools need to upgrade as soon as possible to the latest wallet release, users as soon as they want to use their coins. [[Forks_and_updates]]
==Phase 3==Asset costs:* Asset - 500 RVN* Subasset - 100 RVN* Unique asset - 5 RVN
==Phase 3 - Dividends/Rewards==
@Tron on discord: Divided support can be done without modifying the protocolPay your token holders in RVN. We can add it Turn your profits into RVN and send out to a version all holders of the software that can be used your token by the payer, without requiring others to upgradepercentage held.So we did phase 1,2,4
Dividend support can be done without modifying the protocol. We can add it to a version of the software that can be used by the payer, without requiring others to upgrade (i.e., a soft fork).
If you require this functionality ask in #dev channel on discord as there is a python script to get owners of assets, and someone could write code to loop through owners paying to their address.
==Phase 45 - Messaging==
Unique assetsBroadcast a message to all of your token holders.* Send information about your token.* Send alerts relevant to your project.* Send information about a shareholder vote.* Use Raven messaging for other systems.
Complete part of 2.1 release ==Phase 6 - being tested at time of writing.Voting==
==Phase 5==Issue a special vote token to every holder of your token.* Send to <address X> to vote for X proposal* Send to <address Y> to vote for Y proposalSecond tier web voting can be built on top of this protocol.
Messaging==Phase 7 - Compatible Mode==Allows newly created assets to appear exactly like RVN, LTC, or Bitcoin for easy integration into exchanges, wallets, explorers, etc.This speeds adoption into the larger crypto ecosystem.
==Phase 6=Using the Ravencoin platform=
Voting  ==AppendixAsset control== From the roadmap document - RPC commands for working with assets:  issue(to_address, asset_name, qty, to_address, change_address, units=1, reissuable=false, has_ipfs, ipfs_hash)
Issue an asset with unique name. Unit as 1 for whole units, or 0.00000001 for satoshi-like units. Qty should be whole number. Reissuable is true/false for whether additional units can be issued by the original issuer.
issuefromissueunique (from_addressroot_name, to_addressasset_tags, qtyipfs_hash, units, units=1to_address, reissuable=falsechange_address)Issue an Creates a unique asset from a pool of assets with unique name from a specific address -- allows control of which address/private_key is used to issue name. Example: If the asset. Unit as 1 for whole unitsname is SOFTLICENSE, or 0.00000001 for satoshi-then this could make unique assets like units. Qty should SOFTLICENSE:38293 and SOFTLICENSE:48382 This would be whole number. Reissuable is true/false for whether additional units can be issued by the original issuercalled once per unique asset needed. issuemorereissue (reissue asset_name, qty, to_address, asset_namechange_address, reissuable, new_unit, qtynew_ipfs )
Issue more of a specific asset. This is only allowed by the original issuer of the asset and if the reissuable flag was set to true at the time of original issuance.
makeuniqueassettransfer (address, asset_name, unique_id)Creates a unique asset from a pool of assets with a specific name. Example: If the asset name is SOFTLICENSE, then this could make unique assets like SOFTLICENSE:38293 and SOFTLICENSE:48382 This would be called once per unique asset needed.  listassets(assets=*, verbose=false, count=MAXqty, start=0)This lists assets that have already been created. It does not distinguish unique assets.  listuniqueassets(asset)This lists the assets that have been made unique, and the address that owns the asset.  sendasset(to_address, asset, amount)
This sends assets from one asset holder to another.
listassets (assets, verbose, count, start)
This lists assets that have already been created.
listmyassets ( asset, verbose, count, start )
Lists your assets.
listassetbalancesbyaddress (address)
Lists asset balance by address.
listaddressesbyasset (asset_name)
Lists addresses by asset.
getassetdata (asset_name)
Lists asset data of an asset.
sendassetfrom(from_address, to_address, asset, amount)This sends asset from one asset holder to another, but allows specifying which address to send from, so that if a wallet that has multiple addresses holding a given asset, the send can disambiguate the address from which to send.  getassettransaction(asset, txid)This returns details for a specific asset transaction.  listassettransactions(asset, verbose=false, count=100, startAtomic Swaps=0)This returns a list of transactions for a given asset.  reward(from_address, asset, amount, except=[])Sends RVN to holders of the the specified asset. The Raven is split pro-rata to holders of the asset. Any remainder that cannot be evenly divided to the satoshi (1/100,000,000 RVN) level will be added to the mining fee. ​except​ is a list of addresses to exclude from the distribution - used so that you could exclude treasury shares that do not participate in the reward.
send_asset(from_address, from_asset, to_asset, amount, except=[])Sends an asset more to holders of the the specified to_assetcome . This can be used to send a voting token to holders of an asset. Combined with a messaging protocol explaining the vote, it could act as a distributed voting system.]
= Community Projects =

Navigation menu