Project staging tree
Permalink
Failed to load latest commit information.
.github Update issue template Oct 5, 2018
.tx Rename to raven Oct 27, 2017
assets Merge pull request #325 from RavenProject/tron-asset-audit Sep 25, 2018
binaries Restoring binaries/README.md to avoid breaking the download link from… Jul 27, 2018
build-aux/m4 repair depends system (#154) Jul 26, 2018
contrib Fixing OSX cross compile build problem on Linux (static build pulling… Oct 26, 2018
depends repair depends system (#154) Jul 26, 2018
doc fixing asset activation date and remove extra 0 from version Oct 5, 2018
roadmap Update README.md Sep 28, 2018
share Functional test overhaul Sep 12, 2018
src Merge pull request #436 from RavenProject/release_2.1.3 Nov 12, 2018
static-builds Update README.md Aug 20, 2018
test Adds regression test. Oct 18, 2018
whitepaper Fixed typo Aug 8, 2018
.gitattributes Initial fork of Bitcoin 0.15 Oct 26, 2017
.gitignore reAdd gen.cpp Jul 29, 2018
.pydevproject fixing pythong comment for copyright Nov 22, 2017
.travis.yml Functional test overhaul Sep 12, 2018
CONTRIBUTING.md Whitespace fixes. Jul 27, 2018
COPYING Initial raven source commit Jul 27, 2018
INSTALL.md Initial raven source commit Jul 27, 2018
Makefile.am Fix automake warnings when running autogen.sh Jun 13, 2018
README.md Update README.md Nov 5, 2018
about Create about Jul 26, 2018
autogen.sh Initial raven source commit Jul 27, 2018
background.tiff Initial raven source commit Jul 27, 2018
background.tiff.png Initial raven source commit Jul 27, 2018
background.tiff@2x.png Initial raven source commit Jul 27, 2018
configure.ac Update version from 2.1.2 -> 2.1.3 Nov 6, 2018
libravenconsensus.pc.in Initial raven source commit Jul 27, 2018

README.md

Raven Core integration/staging tree

https://ravencoin.org

What is Ravencoin?

Ravencoin is an experimental digital currency that enables instant payments to anyone, anywhere in the world. Ravencoin uses peer-to-peer technology to operate with no central authority: managing transactions and issuing money are carried out collectively by the network.

License

Raven Core is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.

Development Process

The master branch is regularly built and tested, but is not guaranteed to be completely stable. Tags are created regularly to indicate new official, stable release versions of Raven Core.

The contribution workflow is described in CONTRIBUTING.md.

The developer mailing list should be used to discuss complicated or controversial changes before working on a patch set.

Developer IRC can be found on Freenode at #raven-core-dev.

Testing

Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.

Testnet is now up and running and available to use during development. There is an issue when connecting to the testnet that requires the use of the -maxtipage parameter in order to connect to the test network initially. After the initial launch the -maxtipage parameter is not required.

Use this command to initially start ravend on the testnet. ./ravend -testnet -maxtipage=259200

Automated Testing

Developers are strongly encouraged to write unit tests for new code, and to submit new unit tests for old code. Unit tests can be compiled and run (assuming they weren't disabled in configure) with: make check. Further details on running and extending unit tests can be found in /src/test/README.md.

There are also regression and integration tests, written in Python, that are run automatically on the build server. These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py

Manual Quality Assurance (QA) Testing

Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.

About Ravencoin

A digital peer to peer network for the facilitation of asset transfer.

In the fictional world of Westeros, ravens are used as messengers who carry statements of truth. Ravencoin is a use case specific blockchain designed to carry statements of truth about who owns what assets.

Thank you to the Bitcoin developers.

The Ravencoin project is launched based on the hard work and continuous effort of over 400 Bitcoin developers who made over 14,000 commits over the life to date of the Bitcoin project. We are eternally grateful to you for your efforts and diligence in making a secure network and for their support of free and open source software development. The Ravencoin experiment is made on the foundation you built.

Abstract

Ravencoin aims to implement a blockchain which is optimized specifically for the use case of transferring assets such as securities from one holder to another. Based on the extensive development and testing of Bitcoin, Ravencoin is built on a fork of the Bitcoin code. Key changes include a faster block reward time and a change in the number, but not weighed distribution schedule, of coins. Ravencoin is free and open source and will be issued and mined transparently with no pre-mine, developer allocation or any other similar set aside. Ravencoin is intended to prioritize user control, privacy and censorship resistance and be jurisdiction agnostic while allowing simple optional additional features for users based on need.

A blockchain is a ledger showing the value of something and allowing it to be transferred to someone else. Of all the possible uses for blockchains, the reporting of who owns what is one of the core uses of the technology. This is why the first and most successful use case for blockchain technology to date has been Bitcoin.

The success of the Ethereum ERC 20 token shows the demand for tokenized assets that use another blockchain. Tokens offer many advantages to traditional shares or other participation mechanisms such as faster transfer, possibly increased user control and censorship resistance and reduction or elimination of the need for trusted third parties.

Bitcoin also has the capability of serving as the rails for tokens by using projects such as Omnilayer, RSK or Counterparty. However, neither Bitcoin nor Ethereum was specifically designed for facilitating ownership of other assets.

Ravencoin is designed to be a use case specific blockchain designed to efficiently handle one specific function: the transfer of assets from one party to another.

Bitcoin is and always should be focused on its goals of being a better form of money. Bitcoin developers will unlikely prioritize improvements or features which are specifically beneficial to the facilitation of token transfers. One goal of the Ravencoin project is to see if a use case specific blockchain and development effort can create code which can either improve existing structures like Bitcoin or provide advantages for specific use cases.

In the new global economy, borders and jurisdictions will be less relevant as more assets are tradable and trade across borders is increasingly frictionless. In an age where people can move significant amounts of wealth instantly using Bitcoin, global consumers will likely demand the same efficiency for their securities and similar asset holdings.

For such a global system to work it will need to be independent of regulatory jurisdictions. This is not due to ideological belief but practicality: if the rails for blockchain asset transfer are not censorship resistance and jurisdiction agnostic, any given jurisdiction may be in conflict with another. In legacy systems, wealth was generally confined in the jurisdiction of the holder and therefore easy to control based on the policies of that jurisdiction. Because of the global nature of blockchain technology any protocol level ability to control wealth would potentially place jurisdictions in conflict and will not be able to operate fairly.