GithubHelp home page GithubHelp logo

marketing'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

marketing's People

Contributors

ayayron-p avatar bjornagain avatar crypto-coder avatar joshorndorff avatar kitblake avatar kwattage avatar patrickm727 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

marketing's Issues

move blog to be a subdirectory of rchain.coop

During the marketing standup on 10 September 2018, Suku Roy mentioned that the plan has always been to move the blog that currently lives at blog.rchain.coop to a subdirectory of this website. @bjornagain Can you get in touch with Suku about what this entails?

Dynamically generate tutorial pages from md files

The current version of the tutorial is already outdated because I've written more lessons, and incorporated minor to medium fixes that I've heard from users. The latest version lives at https://github.com/joshorndorff/LearnRholangByExample

Ideally we could generate the html pages on the fly similar to how it is done in https://github.com/rchain/rchain/tree/dev/rholang-tutorial

Perhaps my repo (linked above) should even be a submodule? If we prefer I'm willing to officially move the home of the project into this repo, but I want a sustainable way to write and edit content and keep it updated.

Info about testnet on homepage

During the debrief, Fabian suggested that we should promote testnet on the home page.

I don't think this is a good idea until testnet is upgraded to node 0.7. We don't have a name registry, validator bonding, or reasonable throughput yet. Let's delay this for two weeks.

Add compelling thumbnail to homepage video

Nuno pointed out (as I had noticed myself) that the video no the homepage displays as a black screen when it's not playing.

We need to provide a compelling thumbnail, or maybe make it autoplay or something like that.

(@bjornagain could you have a look at this one?)

Make RChain.coop footprint smaller

Make the size of rchain.coop smaller. The home page has a size of 25mb and a loading time more than 7 sec. (Movie and GIF's)

Opened by Maarten in the old trello

Turn off autoplay of Hero video

Glen made a suggestion to turn off autoplay of the hero video incase people are in more private settings(cough cough day jobs)

Change animations/illustrations homepage

The animations on the homepage are not particularly fitting, and draw immense amounts of attention (to the detriment of the copy next to it). We want to update them to support the content, rather than compete for attention.

Based on our last call, we're seeking out suggestions from selected community members to provide some suggestions for how the illustrations/animations could be taken to the next level.

I have asked @nuno and @AyAyRon-P (both not in this server, which is fine for now), and Joshy would ask his girlfriend (who provided drawings for the tutorial). Nuno has responded favorably already.

Make READMEs valuable

The main readme in the root directory does not make it clear what the scope of this repo is yet as evidenced in #17 . Admittedly we haven't discussed that much yet, so for now I propose that this repo host rchain.coop, and new assets that the marketing team creates and don't already have other homes.

I'll probably update the README later this week, so I'm wide open to discussion in the meantime.

RChain blog Header not click-able

The RChain blog header isn't click-able. Ordinarily I suppose there header should be click-able and link to the blog homepage (https://blog.rchain.coop). As it stands now, there's no homepage button on the sidebar and the header is not click-able so the only way to navigate back to the home page is by inputting the address again on the address bar.
@bjornagain? @Andrekuipers?

Join Coop Form makeover

The form at https://member.rchain.coop/#/sign-up uses the old branding, has an old copyright year, and generally doesn't look very nice.

I've heard there are difficulties changing the kyc app, but don't know what they are. Perhaps we could just put a new frontend that posts to the old place.

Events link on main site goes to RCon3

Would be fine to file as "previous events," but right now still presents RCon3 as "in the future." A calendar option would be great, so that people understand we have events in the future, such as the Board elections. That way we can have future events and previous events listed, so there is a history of what we've accomplished but people recognize that we have future events.

Page for Portfolio companies

Greg M and Derek Beres agreed during the debrief today (26 September 2018) to include a page listing the portfolio companies.

Make the technical roadmap look presentable

The timeline that is viewable at https://rchain.github.io/marketing/technicalRoadmap/ contains important information about timelines for each of the projects we're running the data is stored as json at https://github.com/rchain/marketing/blob/master/technicalRoadmap/roadmap.json

People in the community would like to view that content, and at some point it may even be nice to integrate it into rchain.coop (although that point is a ways off), but the interface is ugly and unintuitive. I'd like to make it look modern and presentable.

The final product should should contain parallel timelines that have a dot for each milestone in the data file. Perhaps when we hover over the dot we get a description of the milestone. I don't care whether the timelines are vertical or horizontal, but the scroll wheel should still work if they are horizontal.

The color theme should generally follow the branding guidelines at https://github.com/rchain/marketing/tree/master/branding

Expand the leadership page

The current https://www.rchain.coop/leadership page only lists

  • Greg
  • Kate
  • Evan
  • Kenny
  • Patrick

Presumably it include at least the entire current board.

It could possibly include Nash, Mike, Medha, Vlad, etc as they are thought leaders and decision makers to some extent even though their title in the coop is only "member".

Some relevant discussion from Discord
image

rchain.coop typos and minor proofreading fixes

HOME PAGE:
Dependable and Secure for all Applications --> Dependable and Secure for All Applications

Engage with the Community
... lifting our world up and affecting real, positive change, we will help each other flourish. -->
... lifting our world up and effecting real, positive change, we will help each other flourish.

[bottom of page]
Ready to Affect Change? --> Ready to Effect Change?


The RChain Platform

CURRENT STATE
...Sequential computing inevitably limits scalability and speed, while increases transaction costs
-->
Sequential computing inevitably limits scalability and speed, while increasing transaction costs

Massive energy and computational requirements have left the promise of decentralized mass adoption unrealized. [Seems like an overstatement]
-->
Massive energy and computational requirements are major obstacles to mass adoption of decentralized systems.

NAMESPACES
Namespaces, virtual groups of Rnodes within the Rchain network... -->
Namespaces, virtual groups of RNodes within the RChain network...

Next-generation sharding divides the network into optimized pieces, solving for the racing condition
-->
Next-generation sharding divides the network into optimized pieces, solving the race condition

Rholang
... Rholang is natively executed by Rnodes --> Rholang is natively executed by RNodes


Community Overview
The Power of the Cooperative
...allowing anyone with an interest to affect our movement
-->
allowing anyone with an interest to contribute to our movement


Leadership page

RChain Cooperative
...for RChain to grow into, to remain, a publicly owned and operated information utility.RChain
-->
for RChain to grow into, and remain, a publicly owned and operated information utility. RChain

RChain Cooperative members form decentralized autonomous organization.
(Sounds a little awkward because it feels like there should be an "s" on the end of "organization", but I think it's meant to be as is. Could "create" be used instead of "form"?)
RChain Cooperative members create decentralized autonomous organization.
or rephrase as something like:
Cooperation leads to the emergence of decentralized autonomous organization.

Evaluate and rethink the rchain.coop site

tl;dr: We need to evaluate and rethink what we want to achieve with the main website. The content is improving but the presentation is lackluster and needs an overarching concept.

A lot of people worked hard to get the new rchain.coop site up and running before RCon3. Kudos to all involved. We needed to get it made and we did.

Now that it's up, I'm thinking – and hearing – that it falls short. The site is not exciting. It looks decent but that's not the quality level we're shooting for. Technically, the home page is extraordinarily heavy and takes a really long time to load. The other pages are primarily white and Girvin is not happy with the plum purple color.

The animations are large and I'm not sure what value they add. I've tried to discern meaning in them but it escapes me. They remind me of decorative patterns on Arabic architecture. I've also been told that the continuous flickering makes the content hard to read.

I know that @KWattage and @pmoorman spent a ton of time developing the content focus and messaging. I wonder if we can use that thinking to develop a design concept, one that can underpin a dynamic presentation with the scope to steadily expand the site.

Official description of the bounty system

The bounty system is currently described in a series of github documents that are not easy to find for newcomers. We should be actively inviting newcomers to start working in the ecosystem by promoting an approachable understandable bounty system. The website is a place people will look for that kind of information.

RSS feed for podcast on blog

I am launching a podcast dedicated to topics on RChain, most of which are specific to portfolio companies. I need a plugin added to the blog to service this. I've used this free plugin for years and it's great: https://wordpress.org/plugins/seriously-simple-podcasting/ I would love this to be live by mid-October so that we can get messaging out there asap. I'll also start a Soundcloud page to host this project.

Board of Directors for Leadership page

Please add the Board of Directors back to the Leadership page at https://www.rchain.coop/leadership. If you have the photos that were associated with each member, as on the old site, you can use them. If not, we can just list the names for now, as they will change with the elections in a few weeks. At the moment it's just important that we have them listed below the current leadership team.

3 Year-Term
Greg Meredith
Vlad Zamfir
Ian Bloom

2 Year-Term
Kenny Rowe
Evan Jensen
Alexandr Bulkin

1-Year Term
Navneet Suman
Hendrik Jan Hilbolling
David Currin

RNode install instructions

Dror had written up installation instructions for several major platforms. We were unable to get them into the website for the RCon3 launch, so we temporarily linked from https://www.rchain.coop/get-started to https://rchain.atlassian.net/wiki/spaces/CORE/pages/428376065/User+guide+for+running+RNode

Let's get his guides into the site.

For wireframe purposes, I had suggested this a little while back. I now think text instructions for each platform would be best, but I still like where the user selects their OS. And I've already got the top video made. See rchain/bounties#913
image

Front page text doesn't highlight RChain's value propositions

A Complete System This text could describe be on any blockchain project's website

We should be sure to cover RChain's three real value add's:

  1. Concurrency for Visa + Facebook throughput
  2. Formal verification to avoid the DAO bug
  3. Proof of stake for better environmental footprint

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.