Merge pull request #1578 from julian-molina/develop

Contribution: Building your profile WIP
This commit is contained in:
Julian Molina authored and GitHub committed 2021-08-27 22:01:02 +02:00
commit 297bcd5e7a
10 files changed
+209 -95

No files matched your search

@@ -217,6 +217,10 @@
"text": "Before you go any further, do the Beyond the Basics tutorial in the Getting Started plugin workspace so that you learn the basics on how to deal with contributions from within the app. The tutorial will help you get your setup right so that contributions are seamless.", "text": "Before you go any further, do the Beyond the Basics tutorial in the Getting Started plugin workspace so that you learn the basics on how to deal with contributions from within the app. The tutorial will help you get your setup right so that contributions are seamless.",
"updated": 1613828879531 "updated": 1613828879531
}, },
{
"style": "Text",
"text": ""
},
{ {
"style": "Block", "style": "Block",
"text": "Dummy", "text": "Dummy",
Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 14 KiB

@@ -1,8 +1,8 @@
{ {
"type": "Governance Address", "type": "Governance Address",
"definition": { "definition": {
"text": "Your Governance Address is a Superalgos SA Token address generated from within Superalgos, using the Profile Constructor. The tokens you hold in this address confer you Token Power, that you may use from within your User Profile to participate in governance.", "text": "Your Governance Address is a Superalgos SA Token address generated from within Superalgos, using the Profile Constructor. The tokens you hold in this address confer you Token Power which you may use from within your User Profile to participate in governance.",
"updated": 1624722123314 "updated": 1630083503097
}, },
"paragraphs": [ "paragraphs": [
{ {
@@ -12,7 +12,8 @@
}, },
{ {
"style": "Callout", "style": "Callout",
"text": "Your Governance Address is a Superalgos SA Token address generated from within Superalgos, using the Profile Constructor. The tokens you hold in this address confer you Token Power, that you may use from within your User Profile to participate in governance." "text": "Your Governance Address is a Superalgos SA Token address generated from within Superalgos, using the Profile Constructor. The tokens you hold in this address confer you Token Power which you may use from within your User Profile to participate in governance.",
"updated": 1630083498247
} }
] ]
} }
@@ -39,8 +39,8 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "Let's unwrap the above statement with an example.", "text": "Let's unpack the above statement with an example.",
"updated": 1630064638172 "updated": 1630089275940
}, },
{ {
"style": "List", "style": "List",
@@ -74,8 +74,8 @@
}, },
{ {
"style": "Note", "style": "Note",
"text": "Once you have contributed to Superalgos, you should always be able to leverage your reputation in Governance. However, if you divest your Superalgos SA Token holdings, that is, if you remove some skin from the game, then your reputation will go down too. That said, you can always get your reputation back by putting the skin back in the game.", "text": "Once you have contributed to Superalgos, you should always be able to leverage your reputation in Governance. However, if you divest your Superalgos SA Token holdings, that is, if you remove some skin from the game, then your reputation will go down too. That said, you can always get your reputation back by putting skin back in the game.",
"updated": 1630065338721 "updated": 1630089391699
}, },
{ {
"style": "Text", "style": "Text",
@@ -0,0 +1,26 @@
{
"type": "Reusable Governance Snippets",
"definition": {
"text": "A collection of reusable snippets of text to be reused within the Governance Project.",
"updated": 1630091213561
},
"paragraphs": [
{
"style": "Block",
"text": "Computational Limitations",
"updated": 1630091226791
},
{
"style": "Title",
"text": "Computational Limitations"
},
{
"style": "Note",
"text": "The governance system does all calculations dynamically, in real-time, with every change in the definitions, and computes all the hierarchies loaded in the Current Workspace."
},
{
"style": "Important",
"text": "The above means that the calculations that you see from within any given Workspace is a partial calculation within the scope of the Current Workspace only. Definitions, claims, votes, and so on, existing on other workspaces or plugins are not computed."
}
]
}
@@ -0,0 +1,13 @@
{
"type": "Influencer Program",
"definition": {
"text": "The Influencers Program is currently unavailable. It will be implemented at a later stage. Driving Token Power into this program has no effect, so you may as well use it somewhere else.",
"updated": 1630089551098
},
"paragraphs": [
{
"style": "Text",
"text": "Right click and select the pencil button to enter edit mode."
}
]
}
@@ -0,0 +1,14 @@
{
"type": "Tokens Mined",
"definition": {
"text": "The Tokens Mined node features the total number of tokens you will get, adding all Token Rewards and Tokens Bonus from the programs you participate in.",
"updated": 1630090191493
},
"paragraphs": [
{
"style": "Include",
"text": "Governance->Concept->Reusable Governance Snippets->Computational Limitations",
"updated": 1630091305104
}
]
}
@@ -12,12 +12,17 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "As explained in the Building Your Profile page, your User Profile must be paired with your Governance Address. The tokens you send to this address confer you Token Power that you may use to influence how Superalgos distributes the tokens allocated to each release.", "text": "As explained in the Building Your Profile page, your User Profile is paired with your Governance Address. The tokens you hold in this address confer you Token Power that you may use to influence how Superalgos distributes the tokens allocated to each release.",
"updated": 1624726114245 "updated": 1630091460767
}, },
{ {
"style": "Text", "style": "Text",
"text": "After building your profile, you should see your Token Power flowing to the Token Switch node, the first offspring of the head of the hierarchy. This principle is maintained throughout the hierarchy: Token Power flows down to offsprings, through each section of the hierarchy." "text": "After building your profile, you should see your Token Power flowing to the Token Power Switch node, the first offspring of the head of the hierarchy. This principle is maintained throughout the hierarchy: Token Power flows down to offspring nodes, through each section of the hierarchy.",
"updated": 1630094400877
},
{
"style": "Title",
"text": "Token Power Flow"
}, },
{ {
"style": "Text", "style": "Text",
@@ -25,11 +30,13 @@
}, },
{ {
"style": "List", "style": "List",
"text": "By default, Token Power flows in equal proportion to each of the programs." "text": "By default, Token Power flows in equal proportion to each direct offspring node.",
"updated": 1630093090611
}, },
{ {
"style": "List", "style": "List",
"text": "You may override the defaults by explicitly defining the percentage of the Token Power you wish to allocate to each program. If you define less than a total of 100%, then the remaining Token Power is distributed evenly across the programs for which there is no definition." "text": "You may override the defaults by explicitly defining the percentage of the Token Power you wish to allocate to each offspring. If you define less than a total of 100%, then the remaining Token Power is distributed evenly across the offspring for which there is no definition.",
"updated": 1630093129825
}, },
{ {
"style": "Text", "style": "Text",
@@ -40,6 +47,49 @@
"text": "{\n \"percentage\": 50\n}", "text": "{\n \"percentage\": 50\n}",
"updated": 1624726090541 "updated": 1624726090541
}, },
{
"style": "Text",
"text": "For example, let's say you have 1,000 Token Power flowing into your Token Power Switch node. Let's say you spawn the Onboarding Programs, Community Building Programs, Votes and Claims Programs, and Financial Programs nodes.",
"updated": 1630094336717
},
{
"style": "Callout",
"text": "As soon as you deploy these four offspring of the Token Power Switch node, you will see that each of these nodes gets 25% of the Token Power by default.",
"updated": 1630094063741
},
{
"style": "Text",
"text": "But you wish to limit the Token Power flowing into the Onboarding Programs to zero, as those programs do not require Token Power. To do that, you set up the following in the Onboarding Programs node configuration:",
"updated": 1630093868178
},
{
"style": "Json",
"text": "{\n \"percentage\": 0\n}",
"updated": 1630093495369
},
{
"style": "Callout",
"text": "Once the configuration is in place, you will notice that the Onboarding Programs node shows 0% and 0 Token Power flowing into the node. You will also notice that the rest of the nodes are getting 33.33% of the Token Power each.",
"updated": 1630093693182
},
{
"style": "Text",
"text": "Now let's say you wish to use only 10% of your Token Power in the Onboarding Programs. So you set up the following config:"
},
{
"style": "Json",
"text": "{\n \"percentage\": 10\n}",
"updated": 1630093961107
},
{
"style": "Callout",
"text": "As a result, 10% of the Token Power flows into the Onboarding Programs, while the remaining nodes get 45% of the Token Power each.",
"updated": 1630094141031
},
{
"style": "Success",
"text": "The same logic applies to the flow of Token Power throughout the hierarchy!"
},
{ {
"style": "Block", "style": "Block",
"text": "Configuration" "text": "Configuration"
@@ -62,14 +62,13 @@
"updated": 1629992750219 "updated": 1629992750219
}, },
{ {
"style": "Note", "style": "Include",
"text": "The system does all calculations dynamically, in real-time, with every change in the definitions, and computes all the hierarchies loaded in the Current Workspace.", "text": "Governance->Concept->Reusable Governance Snippets->Computational Limitations",
"updated": 1629992786999 "updated": 1630091330176
}, },
{ {
"style": "Important", "style": "Block",
"text": "The above means that the calculations that you see from within any given Workspace is a partial calculation within the scope of the Current Workspace only. Definitions, claims, votes, and so on, existing on other workspaces or plugins are not computed.", "text": "Transparency and Auditability"
"updated": 1629993191549
}, },
{ {
"style": "Title", "style": "Title",
@@ -51,56 +51,58 @@
}, },
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "2. Add User Profile and Profile Constructor" "text": "2. Spawn and Configure the Profile Constructor",
"updated": 1630079965869
},
{
"style": "Text",
"text": "The Profile Constructor is the device you will use to link your Github.com identity with the BSC address where you hold or plan to hold your Superalgos SA Tokens. We call it your Governance Address.",
"updated": 1630080366604
},
{
"style": "Include",
"text": "Governance->Concept->Governance Address->Content"
},
{
"style": "Important",
"text": "Once you are done setting up the address, you need to back up your private key in whatever way you desire, and delete the Profile Constructor so that the private key is removed from the Workspace. No worries… I’ll remind you of all this when the time comes."
}, },
{ {
"style": "List", "style": "List",
"text": "Go to the Governance Project hierarchy and select Add User Profile on the menu. " "text": "Go to the Governance Project hierarchy and select Add Profile Constructor on the menu.",
"updated": 1630079909997
}, },
{ {
"style": "List", "style": "List",
"text": "Needless to say, the User Profile is your profile. Name it with your GitHub.com username, your real name, or any pseudonymous name you may wish to identify with." "text": "Access the configuration and enter your GitHub.com username.",
"updated": 1630080009714
},
{
"style": "List",
"text": "If you already have a Superalgos SA Token address, you may enter the associated mnemonic phrase to verify the ownership of the address. If you don't have an address, leave the mnemonic property empty so that the Profile Constructor creates a new address for you.",
"updated": 1630080154442
}, },
{ {
"style": "List", "style": "List",
"text": "Go ahead and select Add Profile Constructor too." "text": "Go ahead and select Add Profile Constructor too."
}, },
{
"style": "Text",
"text": "The Profile Constructor is the device you will use to set up the BSC address you will use to feed your profile with Token Power from your Superalgos SA Token holdings. This means that you will not be able to use your existing addresses, but will create a new one. We call it your Governance Address."
},
{
"style": "Include",
"text": "Governance->Concept->Governance Address->Content",
"updated": 1624722289979
},
{
"style": "Text",
"text": "Once you are done setting up the address, you need to back up your private key in whatever way you desire, and delete the Profile Constructor so that the private key is removed from the Workspace. No worries… I’ll remind you of all this when the time comes."
},
{ {
"style": "Subtitle", "style": "Subtitle",
"text": "3. Build Your Profile" "text": "3. Build Your Profile"
}, },
{
"style": "List",
"text": "Establish a reference from the Profile Constructor node to your User Profile node."
},
{
"style": "List",
"text": "Access the configuration of the Profile Constructor and enter your GitHub.com username."
},
{ {
"style": "Text", "style": "Text",
"text": "The next step involves building the profile, but before you do so, let me explain what the process involves:" "text": "The next step involves building the profile, but before you do so, let me explain what the process involves:"
}, },
{ {
"style": "List", "style": "List",
"text": "A BSC address and the corresponding private key will be generated. This is the BSC address you will use to interact with the governance system." "text": "If you didn't enter a mnemonic, a BSC address and the corresponding private key will be generated.",
"updated": 1630080750557
}, },
{ {
"style": "List", "style": "List",
"text": "A cryptographic message with your GitHub.com username will be signed with the private key corresponding to the address just generated. This message will be stored in your User Profile so that we may authenticate it comes from you once you submit your profile as a plugin in the Governance Project." "text": "A cryptographic message with your GitHub.com username will be signed with the private key corresponding to the address just generated or the mnemonic you entered. This message will be stored in your User Profile so that we may authenticate it comes from you once you submit your profile as a plugin in the Governance Project.",
"updated": 1630080772975
}, },
{ {
"style": "Text", "style": "Text",
@@ -110,6 +112,25 @@
"style": "List", "style": "List",
"text": "Access the menu of the Profile Constructor and click the Build Profile option. Click again to confirm the operation." "text": "Access the menu of the Profile Constructor and click the Build Profile option. Click again to confirm the operation."
}, },
{
"style": "Text",
"text": "That's it!",
"updated": 1630082601712
},
{
"style": "Note",
"text": "If you already have tokens in your Governance Address, you should see the Blockchain Power coming into your User Profile. It may take a minute or so for the system to get the data from the blockchain. If you have no tokens, then you will get zero Blockchain Power.",
"updated": 1630082879935
},
{
"style": "Png",
"text": "PNGs/Governance/Docs/building-profile/building-profile-07.png"
},
{
"style": "Title",
"text": "Check Your Configurations",
"updated": 1630082922435
},
{ {
"style": "Text", "style": "Text",
"text": "Now, take a minute to check the configuration of the User Profile node. You should see a message similar to the one below:" "text": "Now, take a minute to check the configuration of the User Profile node. You should see a message similar to the one below:"
@@ -121,12 +142,28 @@
}, },
{ {
"style": "Text", "style": "Text",
"text": "As explained earlier, this is how the governance system will know that this User Profile belongs to the private key that signed the message, which in turn belongs to the address that will hold the tokens that confer your profile with Token Power.", "text": "This is how the governance system will know that this User Profile belongs to the private key that signed the message, which in turn belongs to the address that will hold the tokens that confer your profile with Token Power.",
"updated": 1624722409704 "updated": 1630080906578
},
{
"style": "Title",
"text": "Back-Up Your Keys",
"updated": 1630083527720
},
{
"style": "Text",
"text": "If you used a mnemonic to authenticate an existing address, you may safely disregard what comes next.",
"updated": 1630083542691
}, },
{ {
"style": "Warning", "style": "Warning",
"text": "This is the most important part of this guide! You must back up your private key! Later on, you will move Superalgos SA Tokens to the address you just generated, so, before you do that, you must safely store the private key that you will use to access the address. At this point, Superalgos doesn’t offer a built-in solution to securely back up your private keys. All the system does at this point is generate a BSC address / private key pair and deliver it in the configuration of the Profile Constructor node. It is up to you to decide how you are going to handle this sensitive information." "text": "This is very important! If you chose to generate a new address, you must back up your private key! Later on, you will hold Superalgos SA Tokens in this address. Before you do that, you must safely store the private key that you will use to access the address.",
"updated": 1630083582536
},
{
"style": "Important",
"text": "At this point, Superalgos doesn’t offer a built-in solution to securely back up your private keys. All the system does at this point is create a BSC address / private key pair and deliver it in the configuration of the Profile Constructor node. It is up to you to decide how you are going to handle this sensitive information.",
"updated": 1630083613308
}, },
{ {
"style": "Text", "style": "Text",
@@ -142,18 +179,29 @@
"text": "" "text": ""
}, },
{ {
"style": "Warning", "style": "Title",
"text": "Once you are satisfied with your backup of the private key, delete the Profile Constructor node! It is not safe to store your private key at the Workspace, as you may accidentally submit it to GitHub.com with one of your contributions. Also, remember that workspaces are saved on disk as unencrypted JSON files, with no security whatsoever.", "text": "Delete the Constructor",
"updated": 1624722590003 "updated": 1630083196550
}, },
{ {
"style": "Subtitle", "style": "Warning",
"text": "4. Import Private Key in a Wallet" "text": "Once you are satisfied with your backup of the private key, or if you used a mnemonic of an existing address, you must delete the Profile Constructor node! It is not safe to store your private key at the Workspace, as you may accidentally submit it to GitHub.com with one of your contributions. Also, remember that workspaces are saved on disk as unencrypted JSON files, with no security whatsoever.",
"updated": 1630083271674
},
{
"style": "Title",
"text": "Import Private Key in a Wallet",
"updated": 1630083092448
}, },
{ {
"style": "Text", "style": "Text",
"text": "This step is not required for interacting with governance, however, we’ll cover it as you most likely will want to do it at some point, and it is recommended anyway, even if not strictly necessary." "text": "This step is not required for interacting with governance, however, we’ll cover it as you most likely will want to do it at some point, and it is recommended anyway, even if not strictly necessary."
}, },
{
"style": "Note",
"text": "This step is relevant only if you created a new BSC address. If instead, you entered the mnemonic of an existing address, then you may safely skip this part.",
"updated": 1630083638851
},
{ {
"style": "Text", "style": "Text",
"text": "The idea is to import the address / private key you just created into a functional hardware or software wallet, so that you may control the tokens you will eventually send to this address." "text": "The idea is to import the address / private key you just created into a functional hardware or software wallet, so that you may control the tokens you will eventually send to this address."
@@ -218,8 +266,8 @@
}, },
{ {
"style": "Note", "style": "Note",
"text": "We have no images of the previous and the next few screens are Trust Wallet won't allow capturing these pages.", "text": "We have no images of the previous and the next few screens as Trust Wallet won't allow capturing these pages.",
"updated": 1624724274610 "updated": 1630082470933
}, },
{ {
"style": "List", "style": "List",
@@ -237,47 +285,6 @@
"style": "Png", "style": "Png",
"text": "PNGs/Governance/Docs/building-profile/building-profile-06.png", "text": "PNGs/Governance/Docs/building-profile/building-profile-06.png",
"updated": 1624724788900 "updated": 1624724788900
},
{
"style": "Subtitle",
"text": "5. Move Funds to the Address"
},
{
"style": "Text",
"text": "You’re almost ready to move some Superalgos SA Tokens to your new address. Before you do that it’s a good idea to configure the Superalgos SA Token first."
},
{
"style": "Text",
"text": "If you don’t know how to do that, follow the instructions in this Medium article:"
},
{
"style": "Link",
"text": "How to Configure the Superalgos SA Token in Trust Wallet->medium.com/superalgos/how-to-configure-the-superalgos-sa-token-in-trust-wallet-5cfc63800447"
},
{
"style": "Text",
"text": "For your convenience, this is the Superalgos SA Token BSC contract:"
},
{
"style": "Json",
"text": "0xfb981ed9a92377ca4d75d924b9ca06df163924fd"
},
{
"style": "List",
"text": "When you’re ready, send a few Superalgos SA Tokens to your new address."
},
{
"style": "List",
"text": "Once the tokens arrive, refresh the browser tab running Superalgos."
},
{
"style": "List",
"text": "Expand your User Profile node. You should see the same number of tokens you sent to your new address as Token Power on top of the dotted line connecting to the Token Switch node. This is the total Token Power that you may use to influence the governance of Superalgos."
},
{
"style": "Png",
"text": "PNGs/Governance/Docs/building-profile/building-profile-07.png",
"updated": 1624725097347
} }
] ]
} }