Skip to content

Commit

Permalink
docs updated
Browse files Browse the repository at this point in the history
  • Loading branch information
trinayanbhatt committed Jun 20, 2018
1 parent 0aebe2f commit e131cbf
Show file tree
Hide file tree
Showing 12 changed files with 780 additions and 780 deletions.
82 changes: 41 additions & 41 deletions docs/source/contributing.rst
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
============
Contributing
============

We encourage open source contribution!

To get started, you can try Building from Source in order to familiarize yourself with the components of RecordsKeeper and the build process. Also, it may be useful to become well-versed with command line functions for RecordsKeeper.

In particular, we need help in the following areas:

Improving the documentation
Responding to questions from other users on StackExchange and the RecordsKeeper Github
Fixing and responding to RecordsKeeper GitHub issues, especially those tagged as up-for-grabs which are meant as introductory issues for external contributors.

How to Report Issues
--------------------

To report an issue, please use the GitHub issues tracker. When reporting issues, please mention the following details:

* Which version of RecordsKeeper you are using
* What was the source code (if applicable)
* Which platform are you running on
* How to reproduce the issue
* What was the result of the issue
* What the expected behaviour is

Reducing the source code that caused the issue to a bare minimum is always very helpful and sometimes even clarifies a misunderstanding.

Workflow for Pull Requests
--------------------------

In order to contribute, please fork off of the develop branch and make your changes there. Your commit messages should detail why you made your change in addition to what you did and would it affect the other parts of the RecordsKeeper.

If you need to pull in any changes from develop after making your fork (for example, to resolve potential merge conflicts), please avoid using git merge and instead, git rebase your branch.

Additionally, if you are writing a new feature, please ensure you write appropriate unit test cases and place them under test/.

However, if you are making a larger change, please consult with the RecordsKeeper Development Team.

Finally, please make sure you respect the coding standards for this project. Also, even though we do CI testing, please test your code and ensure that it builds locally before submitting a pull request.

============
Contributing
============

We encourage open source contributions!

To get started, you can try building from the source code in order to familiarize yourself with the components of RecordsKeeper and the build process. Also, it may be useful to become well-versed with command line functions for RecordsKeeper.

In particular, we need help in the following areas:

Improving the documentation
Responding to questions from other users on StackExchange and the RecordsKeeper Github
Fixing and responding to RecordsKeeper GitHub issues, especially those tagged as up-for-grabs which are meant as introductory issues for external contributors.

How to Report Issues
--------------------

To report an issue, please use the GitHub issues tracker. When reporting issues, please mention the following details:

* Which version of RecordsKeeper you are using
* What the source code was (if applicable)
* Which platform you are operating on
* How to reproduce the issue
* What the result of the issue was
* What the expected behavior is

Reducing the source code that caused the issue to a bare minimum is always very helpful and sometimes even clarifies a misunderstanding.

Workflow for Pull Requests
--------------------------

In order to contribute, please fork off of the develop branch and make your changes there. Your commit messages should detail why you made your change, in addition to what you did and whether it may affect the other parts of RecordsKeeper.

If you need to pull in any changes from develop after making your fork (for example, to resolve potential merge conflicts), please avoid using git merge and instead git rebase your branch.

Additionally, if you are writing a new feature, please ensure you write appropriate unit test cases and place them under test/.

However, if you are making a larger change, please consult with the RecordsKeeper Development Team.

Finally, please make sure you respect the coding standards for this project. Also, even though we do CI testing, please test your code and ensure that it builds locally before submitting a pull request.

Thank you for your help!
138 changes: 69 additions & 69 deletions docs/source/faq.rst

Large diffs are not rendered by default.

272 changes: 136 additions & 136 deletions docs/source/gettingstarted.rst
Original file line number Diff line number Diff line change
@@ -1,136 +1,136 @@
===============
Getting Started
===============

This tutorial requires you to setup a RecordsKeeper's Public Blockchain node on your local machine or remote server. If you have not done so already, please download and install RecordsKeeper's client on a local machine or remote server. If you are using RecordsKeeper client on Windows, please read the installation instructions specific to Windows on the previous page.

Download the latest `RecordsKeeper <https://github.com/RecordsKeeper/recordskeeper-core/releases>`_ build and put the downloded files under the bin folder or any other folder and add its path to System PATH environment variable so that you can run these commands from anywhere. Alternatively, you can go to the folder which contains RecordsKeeper binaries and execute these commands from there.

Connecting to RecordsKeeper Blockchain
--------------------------------------

To connect to RecordsKeeper Blockchain run the following command in bash or command prompt.

RecordsKeeper Testnet

.. code-block:: bash
rkd recordskeeper-test@35.170.155.89:8379 -daemon
RecordsKeeper Mainnet

.. code-block:: bash
rkd recordskeeper@35.172.1.247:7345 -daemon
When you run the above commands the create a node connected to the RecordsKeeper Main node. The command will automatically sets the permissions and consensus required for the Blockchain.

RecordsKeeper Testnet is a complete open Blockchain, when you connect to the Testnet you will have the permissions to connect, send, recieve and mine but the RecordsKeeper Mainnet is currently under consensus rule for a certain number of Blocks (You can read more about that in the `RecordsKeeper Whitepaper <https://www.recordskeeper.co/wp-content/uploads/2016/11/rk_whitepaper.pdf>`_) to avoid takeovers. When you connect to the RecordsKeeper Mainnet, you will recieve an address. You can send that address to us through `RecordsKeeper Mining Permission <https://www.recordskeeper.co/contact-us/>`_ .

Interactive Command Line Mode
-----------------------------

Before we proceed, let’s enter interactive mode so we can issue commands to interact with RecordsKeeper Blockchain.

Testnet

.. code-block:: bash
rk-cli recordskeeper-test
Mainnet

.. code-block:: bash
rk-cli recordskeeper
Some Basic Commands
-------------------

Now your node is up and running you can issue some basic commands in the interactive mode to get some feel about the RecordsKeeper

To get general information about the RecordsKeeper Node:

.. code-block:: bash
getinfo
See a list of all available commands for the RecordsKeeper Node:

.. code-block:: bash
help
Create a new address in the RecordsKeeper Node wallet:

.. code-block:: bash
getnewaddress
List you all addresses in the RecordsKeeper Node wallet:

.. code-block:: bash
getaddresses
Sending a Transaction in RecordsKeeper
--------------------------------------

The RecordsKeeper Blockchain works on the same backend as Bitcoin algorithms. Both the RecordsKeeper Testnet and Mainnet can be used to send and recieve XRK tokens. Use the following interactive commands to send transactions in RecordsKeeper Blockchain.

Send
####

.. code-block:: bash
send address amount (comment) (comment-to)
Example: send 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 10
This command is used to Send one or more XRK tokens to address, returning the txid. The amount field is the quantity of the XRK token and the address field is the address where you want to send the XRK tokens. This command will use the Node's root address to send the transaction. Please make sure you have sufficient balance in the Node's root address for transaction to propogate over the RecordsKeeper Blockchain. You can also provide specific comments for the transaction which are optional. The fees will be applied as per the transaction size.

Send from a different address
#############################

.. code-block:: bash
sendfrom from-address to-address amount
Example: sendfrom 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 17gddiicYtbnwnWuY2ZYvM1Rw9e7t3pPjNJPab 10
This command is also used to Send one or more XRK tokens to address, returning the txid. Using this command you can specify the from address which you want to use to send the transaction. The amount field is the quantity of the XRK token and the to-address field is the address where you want to send the XRK tokens. Please make sure you have sufficient balance in the from-address for transaction to propogate over the RecordsKeeper Blockchain. The from-address used here is also one of the address generated for the Node. You can also provide specific comments for the transaction which are optional. The fees will be applied as per the transaction size.

Publishing and Retriving data in RecordsKeeper
----------------------------------------------

The RecordsKeeper Blockchain is a open public Key-Value based Database over the Blockchain. You can use the interactive command line to publish and retirive stored information. As the Blockahin is a shared concept you can view all the published data and retrive it only using a key or address. RecordsKeeper uses the streams to store the data. RecordsKeeper Streams provide a natural abstraction for RecordsKeeper blockchain which focus on general data retrieval, timestamping and archiving, rather than the transfer of tokens between participants.

The "root" stream is open to all and anyone can publish data into the root stream. Following commands will give you a brief about how to work with data over RecordsKeeper Blockchain.

Publish
#######

.. code-block:: bash
publish stream key data-hex
Example: publish root rkKey 57687920796f7520636f6e766572746564206d653f
This command publishes an item in stream, the stream name is passed, with key provided in text form and data-hex in hexadecimal format. It returns ref or creation txid. The data is published using the Node's address. Use the next command discussed below to publish data from different address. The mining fees is applied as per the transaction size.

Publish from a different address
################################

.. code-block:: bash
publishfrom from-address stream key data-hex
Example: publishfrom 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco root rkKey 596f7520636f6e766572746564206d6520616761696e3f
This command works like publish, but publishes the item from from-address. It is useful if the node has multiple addresses with different amounts. The mining fees is applied as per the transaction size.

Send as Transaction
###################

.. code-block:: bash
sendwithdata/sendwithmetadata address amount data-hex|object
Example: sendwithdata 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 0 {"for":root,"key":"rkKey","data":"506c656173652073746f7020646f696e67207468697321"}
This works similar to send, but with an additional data-only transaction output. You can pass raw data as data-hex hexadecimal string. It is also used to publish the data to a stream, pass an object like this {"for":StreamName,"key":"KeyName","data":"DataHex"} where stream is a stream name, ref or creation txid, the key is in text form, and the data is hexadecimal. You can pass the amount as 0, if you are only using this to publish the data over the RecordsKeeper stream. You can also send some XRK tokens while publishing the data over the stream. The fees will be applied as per the transaction size.
===============
Getting Started
===============

This tutorial requires you to setup a RecordsKeeper's public blockchain node on your local machine or remote server. If you have not done so already, please download and install RecordsKeeper's client on a local machine or remote server. If you are using the RecordsKeeper client on Windows, please read the installation instructions specific to Windows on the previous page.

Download the latest `RecordsKeeper <https://github.com/RecordsKeeper/recordskeeper-core/releases>`_ build and put the downlodeded files under the bin folder or any other folder and add its path to the System PATH environment variable so that you can run these commands from anywhere. Alternatively, you can go to the folder which contains RecordsKeeper binaries and execute these commands from there.

Connecting to the RecordsKeeper blockchain
------------------------------------------

To connect to the RecordsKeeper blockchain run the following command in bash or command prompt.

RecordsKeeper Testnet

.. code-block:: bash
rkd recordskeeper-test@35.170.155.89:8379 -daemon
RecordsKeeper Mainnet

.. code-block:: bash
rkd recordskeeper@35.172.1.247:7895 -daemon
When you run the above commands, they create a node connected to the RecordsKeeper Main node. The command will automatically set the permissions and consensus required for the blockchain.

RecordsKeeper Testnet is a complete open blockchain. When you connect to the Testnet, you will have the permissions to connect, send, receive and mine, but the RecordsKeeper Mainnet is currently under consensus rule for a certain number of blocks (You can read more about that in the `RecordsKeeper Whitepaper <https://www.recordskeeper.co/wp-content/uploads/2016/11/rk_whitepaper.pdf>`_) to avoid takeovers. When you connect to the RecordsKeeper Mainnet, you will receive an address. You can send that address to us through `RecordsKeeper Mining Permission <https://www.recordskeeper.co/contact-us/>`_ .

Interactive Command Line Mode
-----------------------------

Before we proceed, let’s enter interactive mode so we can issue commands to interact with the RecordsKeeper blockchain.

Testnet

.. code-block:: bash
rk-cli recordskeeper-test
Mainnet

.. code-block:: bash
rk-cli recordskeeper
Some Basic Commands
-------------------

Now that your node is up and running you can issue some basic commands in the interactive mode to familiarize yourself with RecordsKeeper.

To access general information about the RecordsKeeper Node:

.. code-block:: bash
getinfo
See a list of all available commands for the RecordsKeeper Node:

.. code-block:: bash
help
Create a new address in the RecordsKeeper Node wallet:

.. code-block:: bash
getnewaddress
List all addresses in the RecordsKeeper Node wallet:

.. code-block:: bash
getaddresses
Sending a Transaction in RecordsKeeper
--------------------------------------

The RecordsKeeper blockchain works on the same backend as Bitcoin algorithms. Both the RecordsKeeper Testnet and Mainnet can be used to send and receive XRK tokens. Use the following interactive commands to send transactions on RecordsKeeper blockchain.

Send
####

.. code-block:: bash
send address amount (comment) (comment-to)
Example: send 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 10
This command is used to send one or more XRK tokens to an address, returning the txid. The amount field is the quantity of XRK tokens, and the address field is the address where you want to send the XRK tokens. This command will use the node's root address to send the transaction. Please make sure you have sufficient balance in the Node's root address for transactions to propagate over the RecordsKeeper blockchain. You can also provide specific comments for the transaction which are optional. The fees will be applied as per the transaction size.

Send from a Different Address
#############################

.. code-block:: bash
sendfrom from-address to-address amount
Example: sendfrom 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 17gddiicYtbnwnWuY2ZYvM1Rw9e7t3pPjNJPab 10
This command is also used to send one or more XRK tokens to address, returning the txid. Using this command you can specify the from-address which you want to use to send the transaction. The amount field is the quantity of XRK tokens and the to-address field is the address where you want to send the XRK tokens. Please make sure you have sufficient balance in the from-address for transaction to propagate over the RecordsKeeper blockchain. The from-address used here is also one of the addresses generated for the node. You can also provide specific comments for the transaction which are optional. The fees will be applied as per the transaction size.

Publishing and Retrieving Data in RecordsKeeper
-----------------------------------------------

The RecordsKeeper blockchain is a public key-value based database on the blockchain. You can use the interactive command line to publish and retrieve stored information. As the blockchain is a shared concept, you can view all the published data and retrieve it using only a key or address. RecordsKeeper uses the streams to store the data. RecordsKeeper streams provide a natural abstraction for the RecordsKeeper blockchain, which focuses on general data retrieval, timestamping, and archiving, rather than the transfer of tokens between participants.

The "root" stream is open to all and anyone can publish data into the root stream. The following commands will give you a brief introduction about how to work with data over RecordsKeeper blockchain.

Publish
#######

.. code-block:: bash
publish stream key data-hex
Example: publish root rkKey 57687920796f7520636f6e766572746564206d653f
This command publishes an item in a stream. The stream name is passed, with the key provided in text form and a data-hex in hexadecimal format. It returns ref or creation txid. The data is published using the node's address. Use the next command discussed below to publish data from different address. The mining fees are applied as per the transaction size.

Publish from a Different Address
################################

.. code-block:: bash
publishfrom from-address stream key data-hex
Example: publishfrom 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco root rkKey 596f7520636f6e766572746564206d6520616761696e3f
This command works like publish, but publishes the item from the from-address. It is useful if the node has multiple addresses with different amounts. The mining fees are applied as per the transaction size.

Send as a Transaction
#####################

.. code-block:: bash
sendwithdata/sendwithmetadata address amount data-hex|object
Example: sendwithdata 1KJFg5YLpvYNYZtCM6hhNYW8uBKtc3GHVboXco 0 {"for":root,"key":"rkKey","data":"506c656173652073746f7020646f696e67207468697321"}
This works similarly to send, but with an additional data-only transaction output. You can pass raw data as data-hex hexadecimal string. It is also used to publish the data to a stream, pass an object like this {"for":StreamName,"key":"KeyName","data":"DataHex"} where stream is a stream name, ref or creation txid, the key is in text form, and the data is hexadecimal. You can pass the amount as 0, if you are only using this to publish the data over the RecordsKeeper stream. You can also send some XRK tokens while publishing the data over the stream. The fees will be applied as per the transaction size.

0 comments on commit e131cbf

Please sign in to comment.