Code Monkey home page Code Monkey logo

bounties's Introduction

RChain

Build Status codecov

The open-source RChain project is building a decentralized, economic, censorship-resistant, public compute infrastructure and blockchain. It will host and execute programs popularly referred to as “smart contracts”. It will be trustworthy, scalable, concurrent, with proof-of-stake consensus and content delivery.

RChain Developer features project-related tutorials and documentation, project planning information, events calendar, and information for how to engage with this project.

Note on the use of this software

This code has not yet completed a security review. We strongly recommend that you do not use it in production or to transfer items of material value. We take no responsibility for any loss you may incur through the use of this code.

Use the public testnet

The RChain Cooperative maintains a public testnet running the latest version of RNode. Learn more at RChain public testnet information.

Installation

Docker

$ docker pull rchain/rnode:latest

Debian/Ubuntu

  1. Download a .deb package from the releases page
  2. $ sudo apt install ./rnode_<VERSION>.deb, where <VERSION> is something like 0.9.18

RedHat/Fedora

  1. Download a .rpm package from the releases page
  2. $ sudo rpm -U ./rnode_<VERSION>.noarch.rpm, where <VERSION> is something like 0.9.18

macOS

  1. Install Homebrew by following steps at the Homebrew homepage
  2. $ brew install rchain/rchain/rnode

Running

Docker will be used in the examples port portability reasons, but running the node as a standalone process is very similar.

To fetch the latest version of RNode from the remote Docker hub and run it (exit with C-c):

$ docker run -it -p 40400:40400 rchain/rnode:latest

# With binding of RNode data directory to the host directory $HOME/rnode 
$ docker run -v $HOME/rnode:/var/lib/rnode -it -p 40400:40400 rchain/rnode:latest

In order to use both the peer-to-peer network and REPL capabilities of the node, you need to run more than one Docker RNode on the same host, the containers need to be connected to one user-defined network bridge:

$ docker network create rnode-net

$ docker run -dit --name rnode0 --network rnode-net rchain/rnode:latest run -s

$ docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS     NAMES
ef770b4d4139   rchain/rnode:latest   "bin/rnode --profile…"   23 seconds ago   Up 22 seconds             rnode0

To attach terminal to RNode logstream execute

$ docker logs -f rnode0
[...]
08:38:11.460 [main] INFO  logger - Listening for traffic on rnode://[email protected]?protocol=40400&discovery=40404
[...]

A repl instance can be invoked in a separate terminal using the following command:

$ docker run -it --rm --name rnode-repl --network rnode-net rchain/rnode:latest --grpc-host rnode0 --grpc-port 40402 repl

  ╦═╗┌─┐┬ ┬┌─┐┬┌┐┌  ╔╗╔┌─┐┌┬┐┌─┐  ╦═╗╔═╗╔═╗╦  
  ╠╦╝│  ├─┤├─┤││││  ║║║│ │ ││├┤   ╠╦╝║╣ ╠═╝║  
  ╩╚═└─┘┴ ┴┴ ┴┴┘└┘  ╝╚╝└─┘─┴┘└─┘  ╩╚═╚═╝╩  ╩═╝
    
rholang $

Type @42!("Hello!") in REPL console. This command should result in (rnode0 output):

Evaluating:
@{42}!("Hello!")

A peer node can be started with the following command (note that --bootstrap takes the listening address of rnode0):

$ docker run -it --rm --name rnode1 --network rnode-net rchain/rnode:latest run --bootstrap 'rnode://8c775b2143b731a225f039838998ef0fac34ba25@rnode0?protocol=40400&discovery=40404' --host rnode1
[...]
15:41:41.818 [INFO ] [node-runner-39      ] [coop.rchain.node.NodeRuntime ] - Starting node that will bootstrap from rnode://8c775b2143b731a225f039838998ef0fac34ba25@rnode0?protocol=40400&discovery=40404
15:57:37.021 [INFO ] [node-runner-32      ] [coop.rchain.comm.rp.Connect$ ] - Peers: 1
15:57:46.495 [INFO ] [node-runner-32      ] [c.r.c.util.comm.CommUtil$    ] - Successfully sent ApprovedBlockRequest to rnode://8c775b2143b731a225f039838998ef0fac34ba25@rnode0?protocol=40400&discovery=40404
15:57:50.463 [INFO ] [node-runner-40      ] [c.r.c.engine.Initializing    ] - Rholang state received and saved to store.
15:57:50.482 [INFO ] [node-runner-34      ] [c.r.casper.engine.Engine$    ] - Making a transition to Running state.

The above command should result in (rnode0 output):

15:57:37.021 [INFO ] [node-runner-42      ] [c.r.comm.rp.HandleMessages$  ] - Responded to protocol handshake request from rnode://e80faf589973c2c1b9b8441790d34a9a0ffdd3ce@rnode1?protocol=40400&discovery=40404
15:57:37.023 [INFO ] [node-runner-42      ] [coop.rchain.comm.rp.Connect$ ] - Peers: 1
15:57:46.530 [INFO ] [node-runner-43      ] [c.r.casper.engine.Running$   ] - ApprovedBlock sent to rnode://e80faf589973c2c1b9b8441790d34a9a0ffdd3ce@rnode1?protocol=40400&discovery=40404
15:57:48.283 [INFO ] [node-runner-43      ] [c.r.casper.engine.Running$   ] - Store items sent to rnode://e80faf589973c2c1b9b8441790d34a9a0ffdd3ce@rnode1?protocol=40400&discovery=40404

To get a full list of options rnode accepts, use the --help option:

$ docker run -it --rm rchain/rnode:latest --help

Configuration file

Most of the command line options can be specified in a configuration file.

The default location of the configuration file is the data directory. An alternative location can be specified with the command line option --config-file <path>.

The format of the configuration file is HOCON.

The defaults.conf configuration file shows all options and default values.

Example configuration file:

standalone = false

protocol-server {
  network-id = "testnet"
  port = 40400
}

protocol-client {
  network-id = "testnet"
  bootstrap = "rnode://[email protected]?protocol=40400&discovery=40404"
}

peers-discovery {
  port = 40404
}

api-server {
  host = "my-rnode.domain.com"
  port-grpc-external = 40401
  port-grpc-internal = 40402
  port-http = 40403
  port-admin-http = 40405
}

storage {
  data-dir = "/my-data-dir"
}

casper {
  shard-name = root
}

metrics {
  prometheus = false
  influxdb = false
  influxdb-udp = false
  zipkin = false
  sigar = false
}

dev-mode = false

Development

Compile the project with:

$ sbt clean compile

# With executable and Docker image
$ sbt clean compile stage docker:publishLocal

Run the resulting binary with:

$ ./node/target/universal/stage/bin/rnode

For more detailed instructions, see the developer guide.

Caveats and filing issues

Caveats

During this pre-release phase of the RChain software, there are some known issues.

Filing Issues

File issues in GitHub repository issue tracker: File a bug.

Acknowledgements

We use YourKit to profile rchain performance. YourKit supports open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of YourKit Java Profiler and YourKit .NET Profiler, innovative and intelligent tools for profiling Java and .NET applications.

Licence information

To get summary of licenses being used by the RChain's dependencies, simply run sbt node/dumpLicenseReport. The report will be available under node/target/license-reports/rnode-licenses.html

bounties's People

Contributors

abnerzheng avatar ayayron-p avatar barneycinnamon avatar dckc avatar entropee avatar gitter-badger avatar ian-bloom avatar internautneven avatar jake-gillberg avatar jbassiri avatar jimscarver avatar keaycee avatar kitblake avatar lapin7 avatar mervyn853 avatar momchilov avatar ojimadu avatar patrick727 avatar resonancexx avatar rjl493456442 avatar sportshark avatar theneverafter avatar thiefinshadows avatar trenchfloat avatar valebf avatar whisker17 avatar zero-andreou avatar zsluedem avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bounties's Issues

RChain LinkedIn Group

http://bit.ly/2psFXOL

Feel free to join the RChain LinkedIn group and share any resources applicable to the development of platforms, mathematics, cooperative governance that relate to RChain.

Cheers

Marketing

@nathanwindsor is creating a video and he proposed an intro talk with house music in the background. Please check if the text is OK.

RHOC market

Converted Rhoc's in 7 batches
Reconciliation to one address
Outgoing payments
Outgoing btc conversion of amp

Initially mined: 1,000,000,000 RHOC
Initially Wallet 1: 800,000,000 RHOC
Initially Wallet 2: 200,000,000 RHOC

Current treasury: 681,000,000 RHOC
Market:
Holding has: 105,000,000 RHOC
Third Party: 2,000,000 RHOC
Member Wallet: 1,000,000 RHOC
Other owners: 10.000.000 RHOC

Slow distribution is taking place through:

  • Membership rewards
  • Bounties for workers

A 10% burn of RHOC is under consideration.

Big sales of RHOC may happen along milestones.

O> Donating earned RHOCs

It would be great to be able to donate earned RHOCs to a project or cause we like. If RChain is willing to match donations, that would create more incentive for people to donate and spread more RHOCs around.

For example, I would like to see a fund set up to help finance Vlad's work.

Get ERC20 Token Rhoc verified

At Etherscan the Coop Rchain Address: 0x5a0f67a337d8fafded3fa574e7546b529c96df89 shows that the RHOC is still unverified.

Who is going to verify this token at which institution?

RHOC on Exchange

RHOC is visible on infoproviders about exchanges:

RHOC on current exchanges:

  • EtherDelta Works. Place your orders :-)
  • Oasis Works. Place your orders :-)
  • SingularX Works. New exchange.
  • Kucoin New up and coming exchange. RHOCs trading since Dec 12th.

RHOC needs to be on these exchanges:

"Likely Linkers" Game.

This is the first draft to an outline for a "Likely Linker" game.

The goals are to leverage swarm intelligence to find the highest quality opportunities for potential inbound links to RChain related content.

Many of us are networking around freely and are coming across these opportunities without even realizing it. I wanted to start this game to get in the habit of continually posting these opportunities to a map in which I can then reach out to the sources for the link.

Linkbuilding is a key to building SEO over time and with the communities help we could growth hack our SEO efforts!

First we still need to iron out some of the game guidelines and mechanics and then we can start the actual experiments if you'd like

What's the rate USD/RHOC starting from 2017 - 04 - 01 ?

We have to make payments in RHOC. In order to put that into the books the RHOC have to be converted to a USD value. That imposes a USD/RHOC rate. I think this rate has to be the same for everybody during the same period. Until a market price has been set on Bittrex or Poloniex.

Website - Edits & Updates

Keeping the conversation ongoing about building out the next generation of RChain's websites and web presence.

Tax Issues of Awarding Bounties

From H J to Everyone: 09:03 AM
I’m sorry to leave the discussion. It’s interesting however. In one hour I could be back.
From Bob O'Brien to Everyone: 09:05 AM
FYI... this is the current IRS opinion on crypto-currencies:
http://www.irs.gov/pub/irs-drop/n-14-21.pdf
From H J to Everyone: 09:09 AM
Other appointment has been rescheduled. So I can join again.
From Bob O'Brien to Everyone: 09:39 AM
http://www.thetaxadviser.com/newsletters/2017/apr/cryptocurrency-taxes.html
http://www.irs.gov/pub/irs-drop/n-14-21.pdf
From planteater to Everyone: 09:39 AM
There's a big difference between what Bitcoin did what RChain and Divvy are doing because the SEC treats it differently (unambiguously not a security) when a token is 100% mined.
From Bob O'Brien to Everyone: 09:41 AM
read the documents... they cover both "mined" and "awarded" coins... from an income standpoint, there is no difference..
the awarder is responsible for employment taxes (including FICA, unemployment, etc.) if the coins have value. If you're mining, then you're "self-employed".
From planteater to Everyone: 09:42 AM
Aren't we concerned with how RChain and Divvy are affected? The miners are responsible for themselves.
From Bob O'Brien to Everyone: 09:45 AM
yes, but if we "award" coins for work done, or whatever, then if those coins have value, we have acted as an employer, and are either required to collect and submit various federal, state, and local income-related taxes, or we're responsible for issuing 1099s to "contractors".
this means we need to be able to prove the value of the coin (at issue time - so if value becomes nonzero and fluctuates, we need to track it)
in addition to this, we need to be careful about being considered an "exchange" that facilitiates trades... note the TaxAdvisor document on what is happening to Coinbase.
From planteater to Everyone: 09:46 AM
My original point was really addressing a comment made by HJ about how Bitcoin didn't ask permission. It seems to me they didn't have to because it was 100% mined, but we have to be more careful.
I agree, Bob -- we have to be very careful
From Bob O'Brien to Everyone: 09:49 AM
it wasn't really because they were mined... it was because no legal agency knew how to handle treating a bunch of 0's and 1's as something of value -- and the economy grew up before the rules caught up. Now, though, the rules are catching up. (LSD was legal for a while too -- because it took the government a while to figure out what it was and how to regulate it.)
From Me to Everyone: 11:08 AM
https://docs.google.com/document/d/1KqARXY2FqxCy1_CGMa-Ve98uoY8w6XEbY9jP25nnIvw/edit#heading=h.pdrtmj1zomve

Curation of Content for Newsletter & More

Help us deliver the best newsletter we can!

copy and paste
-important news updates from the slack,
-newly releases documentation/research from developers
-updates on the coop or holdings
-questions that still need to be answered
-events coming soon
-related information across industry/markets (legislation, etc)

copy and paste the into this document under the section "Curated Info at the bottom"

Onboarding coop members

This epic is to meet the onboarding challenge from attracting members, educating them, accepting payment, identity proofing, facilitating cooperative involvement in the community and RHOC marketplace. Doug Rushkoff advised us that onboarding is our greatest challenge. When, if we experience exponential growth this process will need to be scalable.

Processes that are components of the onboarding process may be aggregated under this epic.

Rchain buys goods and services with Rhoc. It's a RHOC Distribution system.

Suppose I buy a computer to do my work for Rchain. I buy with my own USD. Then I send the invoice to Rchain and they reimburse my USD with RHOC for 1/4 of the price at the current market price RHOC-USD. Rchain reimburses me also for the next 3/4, if I'm still a member of the Coop Rchain and if I still can prove that I use the computer or if I can prove that the computer is still in my hands.

The owner of the computer is Rchain and Rchain can depreciate on that asset in four years. I only have the right of use during my membership. The RHOC I can keep or sell on an exchange. So in fact I can use the computer for nothing.

This idea can also apply to services. When I provide my time and deliver a service, then Rchain can pay me in RHOC.

Or it could apply to buying a ticket to a place where I have to Rchain work. I buy the ticket in USD. Send the invoice to Rchain. And Rchain reimburses me in RHOC. Like that I travel also for nothing.

The advantage is that RHOC's get distributed in small amounts to workers all over the world and Rchain creates a world wide economy with RHOC's.

RChain - Jobs Post - Content

I have contacted Nash and Greg about providing job descriptions for job postings to link to.

If someone with more technical depth like to draft up some job descriptions that would also help.

Language developer
Comms
Cryptographer
API developer
Contract developers

Several Finance tasks

Lykke account Rchain ([email protected])
Distribution of Rhoc under members, Promise to Spend
Initial Budget proposal and single signature Rhoc wallet of 1 mln Rhoc
List of assets
List of expenditures
Rhoc current price
Membership Fee
Fiscal and legal advise
MyEtherWallet for Lisa

[email protected] responses

"Good morning,

We would like to host a Q and A feature about Rachin on invesitin.com InvestItIn.com connects investors with investment ideas. We have more than 500 investors visiting our site a day.

Thanks
Mike Thompson"

what do you guys think?

Governance document

The vision describes why the project is being undertaken and what the desired end state is.
The product vision paints a picture of the future that draws people in. It describes who the customers are, what customers need, and how these needs will be met. It captures the essence of the product – the critical information we must know to develop and launch a winning product. Developing an effective product vision entails carefully answering the following questions:

Who is going to buy the product?

Who is the target customer?

Which customer needs will the product address?

Which product attributes are critical to satisfy the needs selected, and therefore for the success of the product?

How does the product compare against existing products, both from competitors and the same company?

What are the product’s unique selling points?

What is the target timeframe and budget to develop and launch the product?

Membership payment and identity proofing ethereum contract.

  1. Attributions and membership with uPort Identity.
  2. POC being developed in MemberIdentity.sol
  3. decouple payment and ID proofing with separate pay dues function taking membership hash
  4. change use case to keep verification codes off chain.
  5. provide for hash of current information in addition to the perminant hash id generated on initial application to the coop?

Invoicing

Does this invoice seem correct to you?
This is a test to see if the payment process works. The work on this process is managed through Github/Rchain/Members (only visible with Chrome-browser).
The reason for setting up this process is: standardisation of invoices.
Most people are not used to send in invoices. So I get a lot of garbage and missing data, that will cost me a lot time (wasted).

The process is like this:

  • Workers fill out a Declaration form to declare their work and demanded reward in USD
  • Most of the personal data is already gathered through the Membership registration form and its responses.
  • I create a PDF invoice for the worker with the price to be paid in RHOC with spreadsheet "Declaration (Responses)"
  • The PDF invoice is emailed to the worker
  • The worker emails the PDF invoice to me, so that the worker says: "the invoice is correct, please process it"
  • I pay the worker in RHOC
  • I make a Journal Entry (JE) in the spreadsheet "Balance" and make a JE in QBO

This process still needs a kind of approval in it for:
before the work starts, an approval for the work/project to do and its reward/budget (specified in USD / hour for example) and a maximum amount in USD for eventual extension. This can be done through a Statement of Work (SoW) form.
if the reward is more then the extension then a new approval has to be made
The approval process (under construction) can be done through the spreadsheet Members/RChain Community RHOC Distribution and the process is described in document RChain Decentralized Community Process

@evan Jensen: does Rchain has to pay sales tax or any other tax for "services delivered by independent contractors"?

running community nodes (rosettenet)

Community rosette nodes exposed safely via ssh tunnel interoperating via web service and web user interface.

  • proof of concept completed by rchain noobs.
  • dump restore primitive needed for robustness.

Scan Slack for Issues

Scan Slack for Issues is an ongoing process.
A lot of things are discussed in Slack and disappear. That's a pity. It would be great if Slack users come here to Github to collaborate about the issues and get them done.
Ongoing discussions in Slack can be copied here in comments or better those discussions can be summarised and then put here in a decent way.

Identity

BYOid Trustable Identity Project

SSO with SSI (Single Sign On with Self Sovereign Identity), implementing user controlled universal aggregated identity as the basis for BYOid, using IoP, OpenID, WebID, ethereum uPort, social logins, etc.

Collaborations: RChain.coop, DivvyDAO.org -> diglife.com, giveth.io, cocloud.coop, sovrin.org, movim.eu, solid, consensys, ….

Meeting time: Saturdays 01:00 PM UTC, New York -4, , Seattle -6, Amsterdam +2
Screen: https://zoom.us/j/6853551826

Member meeting

Find herewith the agenda for the next "20170510 Rchain Member Meeting".

I was inspired by Jim's Divvy Meeting ;-)

Sending Rhoc to pre-registered members.

Use a Mail Merge of Google

Problem is that I'm not sure about the provided ETH-address that has been provided by BTC-payers. Solution is to send a personalised email that verifies if ETH-address is correct.

  • Set up the content of mail msg
  • Install add on "Yet another Mail Merge" into sheets
  • Make a spreadsheet with personalised items, like Name, Email, ETH-address
  • Configure mail merge
  • Send the mail
  • Process responses
  • Send 100 RHOC to addresses

For the ETH-payers it's simple, because the 100 RHOC can be send to the FROM-ETH-Address.
Anyway a standard message would be nice.

I also think about creating a functional Gmail account for Rchain. [email protected]. Because it mixes too much up with my personal email [email protected]. I'm a bit disappointed about the ZoHo email account [email protected]. Because it doesn't integrate so well with other apps.

Finance

Set up a finance system that can be decentralised for the RHOC part.

Outreach - "Intro to RChain"

There is an article in the works that will be published by Shingai Thornton and boosted by Coinfund.io for an introduction to RChain.

As the community we can help this article achieve the largest organic reach possible.

Below are two spreadsheets

  1. Content Sharing Spreadsheet
    [Link Provided Upon Publishing]

Once the article is published , you can view it in this spreadsheet and use the spreadsheet as a resource for easy sharing throughout any network that you have

  1. "Likely Linkers" Spreadsheet
    https://docs.google.com/spreadsheets/d/1NaZbj4rjAI2-PjUJLpXGglCkvtIQc9iBTWfa2AU8oFI/edit#gid=1352706839

Please begin to submit any websites, resources pages, authors, that you believe would want to link to this article and related content. Once the article is published, I will perform outreach in order to build links and get shares to extend its reach, but the more help the better.

Exact bounties have not been determined, but participation in these outreach like games will make you eligible to receive gifts, bonuses and bounties when they details have been worked out.

Feedback to better the process is always welcome! Im looking into chatbots to help automate this process, but we have yet to determine where our next forum will be hosted. Whether it is rocket.chat, matrix, matter most or some other.

Cheers to open-source cooperation!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.