rchain-community / rgov

RChain liquid democracy demo: capability sharing, mailbox, directory, chat, ...
https://rchain-community.github.io/rgov/
10 stars 14 forks source link

MacRhoBot macros to be considered for reimplementation #20

Closed jimscarver closed 3 years ago

jimscarver commented 3 years ago

MacRhoBot is running in colab discord. To see the rholang of a macro on discord type:

show: macroname
or to fully expand imbedded macros
echo: $addmember(community,user)

find:



$add2Directory($name,$key,$value,$ret)
$addmember($community,$user)
$addUser($username,$directory)
$allowalltovote($community,$ballot)
$allowtovote($user,$ballot)
$chat($user,$message)
$makemylocker
$membersOf($community,$return)
$mydefaultdelegate($community,$username)
$mydelegate($ballot,$username)
$newBallot($name,$choiceSet)
$newCommunity($name)
$newDirectory($name)
$newinbox
$peek($types_return...)
$readchat
$readDirectory($name,$arg_ret...)
$readDir($name,$arg_ret...)
$receive($type,$subtype_return...)
$send($user,$list...)
$share($username,$type,$subtype)
$vote($ballot,$vote)
$voteresults($ballot)
dckc commented 3 years ago

idea: like https://developer.rchain.coop/rholang-playground , with macros loaded into the "Example:" select control. Each macro would have a list of args, which would become additional form inputs. The provided inputs would go into a match expression.

enhancement: an on-chain collection of macros enhancement: a personal collection of macros in browser localStorage

dckc commented 3 years ago

The select / input combination doesn't allow for sub-expressions.

enhancement: compose terms with blockly

dckc commented 3 years ago

@jimscarver notes we have funding for this project and we plan to reward accepted PRs with REV.

jimscarver commented 3 years ago

https://rgov1.netlify.app/ image

dckc commented 3 years ago

@jimscarver one way to scope this for the hackathon: reimplement a sufficient number of the macros to form communities that can vote on issues:

  1. create a directory from a set of REV addresses, such as the hackathon participants (mostly done: #11 )
  2. create an inbox (done)
  3. claim your spot in the directory and add your inbox etc. (done? how far did we get?)
  4. create an issue and distribute voting rights (enhancement: nice UX for multiple issues)
  5. vote on an issue (enhancement: nice UX for multiple issues)
  6. delegate your vote
  7. tally the votes

enhancements include:

Bill-Kunj commented 3 years ago

@dckc @jimscarver Is this issue closeable?