@powerhousedao/academy 0.1.0-dev.1 → 0.1.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/Dockerfile +9 -22
- package/docs/academy/01-GetStarted/02-LoginWithRenown.md +32 -0
- package/docs/academy/01-GetStarted/_category_.json +3 -0
- package/docs/academy/01-GetStarted/images/ConnectAddress.png +0 -0
- package/docs/academy/01-GetStarted/images/LoginComplete.png +0 -0
- package/docs/academy/01-GetStarted/images/OperationsHistory.png +0 -0
- package/docs/academy/01-GetStarted/images/RenownLogin.png +0 -0
- package/docs/academy/01-GetStarted/images/ReturnToConnect.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/02-ConfiguringDrives.md +82 -9
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/07-DocumentTools/01-OperationHistory.md +1 -1
- package/docs/{renown/02-renown-login-flow.md → academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/01-RenownAuthenticationFlow.md} +11 -10
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/_category_.json +6 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/images/ConnectAddress.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/images/LoginComplete.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/images/OperationsHistory.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/images/RenownLogin.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/08-Authorization/images/ReturnToConnect.png +0 -0
- package/docs/academy/02-AdvancedTutorial/03-BuildingUserExperiences/images/CreateNewDrive.png +0 -0
- package/docs/academy/03-APIReferences/00-PowerhouseCLI.md +40 -1
- package/docs/academy/03-APIReferences/01-ReactHooks.md +3 -0
- package/docs/academy/03-APIReferences/02-ReactorUsage.md +1 -0
- package/docs/academy/04-ComponentLibrary/00-StorybookLink +0 -0
- package/docs/academy/04-ComponentLibrary/01-PowerhouseDesignSystem.md +4 -4
- package/docs/academy/05-Architecture/00-PowerhouseArchitecture.md +1 -1
- package/docs/academy/06-Cookbook.md +84 -1
- package/docs/academy/07-Glossary.md +3 -0
- package/docs/bookofpowerhouse/02-GeneralFrameworkAndPhilosophy.md +36 -10
- package/docs/bookofpowerhouse/05-SNOsandANewModelForOSSandPublicGoods.md +27 -56
- package/docs/bookofpowerhouse/06-SNOsInActionAndPlatformEconomies.md +48 -17
- package/entrypoint.sh +3 -0
- package/package.json +1 -1
- package/sidebars.ts +45 -11
- package/src/components/HomepageFeatures/index.tsx +1 -1
- package/ProcFile +0 -1
- package/docs/renown/01-intro.md +0 -18
- /package/docs/academy/01-GetStarted/{01_InstallDemoPackage.md → 01-InstallDemoPackage.md} +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/01-CreateNewPowerhouseProject.md +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/02-DefineToDoListDocumentModel.md +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/03-ImplementOperationReducers.md +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/04-BuildToDoListEditor.md +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/_category_.json +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/DocumentModelHeader.png +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/DocumentModelOperations.png +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/OpenDocumentModelEditor.gif +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/completeEditor.png +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/connectApp.gif +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/form.png +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/mytodolist.gif +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/reducers.png +0 -0
- /package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/vscode.png +0 -0
- /package/docs/academy/02-AdvancedTutorial/{06-Authorization/Authorization.md → 03-BuildingUserExperiences/08-Authorization/02-Authorization.md} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## 0.1.0-dev.3 (2025-05-27)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- enforce conventional commits ([faa49da40](https://github.com/powerhouse-inc/powerhouse/commit/faa49da40))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Frank
|
|
10
|
+
|
|
11
|
+
## 0.1.0-dev.2 (2025-05-26)
|
|
12
|
+
|
|
13
|
+
### 🩹 Fixes
|
|
14
|
+
|
|
15
|
+
- **academy:** deployment ([36e5f194d](https://github.com/powerhouse-inc/powerhouse/commit/36e5f194d))
|
|
16
|
+
- **switchboard:** docker build ([7052e39e1](https://github.com/powerhouse-inc/powerhouse/commit/7052e39e1))
|
|
17
|
+
|
|
18
|
+
### ❤️ Thank You
|
|
19
|
+
|
|
20
|
+
- Frank
|
|
21
|
+
|
|
1
22
|
## 0.1.0-dev.1 (2025-05-25)
|
|
2
23
|
|
|
3
24
|
### 🚀 Features
|
package/Dockerfile
CHANGED
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
# syntax=docker/dockerfile:1
|
|
2
2
|
|
|
3
|
-
# Stage 1: Base image.
|
|
4
|
-
## Start with a base image containing NodeJS so we can build Docusaurus.
|
|
5
3
|
FROM node:lts AS base
|
|
6
|
-
## Disable colour output from yarn to make logs easier to read.
|
|
7
4
|
ENV FORCE_COLOR=0
|
|
8
|
-
## Enable corepack.
|
|
9
|
-
RUN corepack enable
|
|
10
|
-
## Set the working directory to `/opt/docusaurus`.
|
|
11
|
-
WORKDIR /opt/docusaurus
|
|
12
5
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
ENV PNPM_HOME="/pnpm"
|
|
7
|
+
ENV PATH="$PNPM_HOME:$PATH"
|
|
8
|
+
RUN corepack enable && corepack install --global pnpm@10.1.0
|
|
9
|
+
ENV COREPACK_ENABLE_DOWNLOAD_PROMPT=0
|
|
10
|
+
|
|
11
|
+
WORKDIR /app
|
|
12
|
+
COPY . .
|
|
13
|
+
RUN chmod +x entrypoint.sh
|
|
20
14
|
RUN pnpm install --frozen-lockfile
|
|
21
|
-
## Build the static site.
|
|
22
15
|
RUN pnpm build
|
|
23
|
-
|
|
24
|
-
# Stage 3a: Serve with `docusaurus serve`.
|
|
25
|
-
FROM prod AS serve
|
|
26
|
-
## Expose the port that Docusaurus will run on.
|
|
27
16
|
ENV PORT=3000
|
|
28
17
|
EXPOSE $PORT
|
|
29
|
-
|
|
30
|
-
ENTRYPOINT pnpm serve --host 0.0.0.0 --no-open --port $PORT
|
|
31
|
-
|
|
18
|
+
ENTRYPOINT ["./entrypoint.sh"]
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Login with Renown
|
|
2
|
+
|
|
3
|
+
Renown is Powerhouse's decentralized identity and reputation system designed to address the challenge of trust within DAOs, where contributors often operate under pseudonyms. In traditional organizations, personal identity and reputation are key to establishing trust and accountability. Renown replicates this dynamic in the digital space, allowing contributors to earn experience and build reputation without revealing their real-world identities.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
:::tip
|
|
7
|
+
When signing in with Renown use an Ethereum or blockchain address that is fit to function as your 'identity' as over time more experience and history will be accrued by this address.
|
|
8
|
+
:::
|
|
9
|
+
|
|
10
|
+
## Login Flow
|
|
11
|
+
|
|
12
|
+
### Find the Renown Icon
|
|
13
|
+
"**Login with Renown**" is a decentralized authentication flow that enables users to log into applications by signing a credential with their Ethereum wallet. Upon signing in, a Decentralized Identifier (DID) is created based on the user's Ethereum key.
|
|
14
|
+
|
|
15
|
+

|
|
16
|
+
|
|
17
|
+
### Generate a DID to sign operations in Connect
|
|
18
|
+
This DID is then associated with a credential that authorizes a specific Connect instance to act on the user's behalf. That credential is stored securely on Ceramic, a decentralized data network. When the user performs actions through the Powerhouse Connect interface, those operations are signed with the DID and transmitted to Switchboard, which serves as the verifier.
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
### Modify a document
|
|
25
|
+
Switchboard checks the validity of the DID and credential, ensuring the operation request is legitimate. This flow is designed to offer a verifiable, cryptographically secure login system that replaces traditional password-based authentication with decentralized identity and signature-based trust.
|
|
26
|
+
|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
By leveraging this system, every operation or modification made to a document is cryptographically signed by the contributor's Renown identity. This ensures that each change is verifiable, traceable, and attributable to a specific pseudonymous user, providing a robust audit trail for all document activity.
|
|
30
|
+
|
|
31
|
+
For a deeper dive into how these signed operations are recorded and visualized, see the [Operations History](/docs/academy/AdvancedTutorial/BuildingUserExperiences/DocumentTools/OperationHistory) page.
|
|
32
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Configure a Drive
|
|
2
2
|
|
|
3
|
-
A drive in Powerhouse is a container for documents and data. This guide will walk you through the process of configuring and managing drives in your Powerhouse environment.
|
|
3
|
+
A drive in Powerhouse is a container or a wrapper for documents and data. It's a place where you can organize and store your documents and share them with others. This guide will walk you through the process of configuring and managing drives in your Powerhouse environment.
|
|
4
4
|
|
|
5
5
|
## Prerequisites
|
|
6
6
|
|
|
7
|
-
Before configuring
|
|
7
|
+
Before configuring a drive, ensure you have:
|
|
8
8
|
- Powerhouse [CLI installed](/docs/academy/AdvancedTutorial/Create/BuilderTools)
|
|
9
9
|
- Access to a Powerhouse instance
|
|
10
10
|
- Appropriate permissions to create and manage drives
|
|
@@ -13,7 +13,7 @@ Before configuring drives, ensure you have:
|
|
|
13
13
|
|
|
14
14
|
### Local Drives
|
|
15
15
|
|
|
16
|
-
A local drive is a container for local documents and data, hosted on your local machine. Technically a drive is just another document with a list of the documents inside the drive. When you run connect locally with `ph connect` a local drive is automatically added. You can also create a new local drive by clicking 'add drive' in connect.
|
|
16
|
+
A local drive is a container for local documents and data, hosted on your local machine. Technically a drive is just another document model with a list of the documents inside the drive. When you run connect locally with `ph connect` a local drive is automatically added. You can also create a new local drive by clicking **'add drive'** in connect.
|
|
17
17
|
|
|
18
18
|
### Remote Drives vs. reactors
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@ Remote drives in Powerhouse allow you to connect to and work with data stored in
|
|
|
23
23
|
- **Cloud Storage**: For centralized, scalable data management.
|
|
24
24
|
- **Decentralized Storage**: Such as Ceramic or IPFS, enabling distributed and blockchain-based storage options.
|
|
25
25
|
|
|
26
|
-
:::
|
|
26
|
+
:::tip
|
|
27
27
|
**Powerhouse Reactors** are the nodes in the network that store and synchronise documents & drives , resolve conflicts and rerun operations to verify document event histories.
|
|
28
28
|
Reactors can be configured for local storage, centralized cloud storage or on a decentralized storage network.
|
|
29
29
|
|
|
@@ -34,18 +34,91 @@ A drive exists by making use of a reactor and the storagelayer that specific rea
|
|
|
34
34
|
|
|
35
35
|
### Drive Apps
|
|
36
36
|
|
|
37
|
-
Drive Explorers (also known as Drive Apps) are specialized interfaces that enhance how users interact with document models within a drive. As mentioned previously, technically a drive is just another document, with a list of the documents inside the drive. So it is obvious that you can create a custom editor for your drive-document.
|
|
37
|
+
**Drive Explorers** (also known as Drive Apps) are specialized interfaces that enhance how users interact with document models within a drive. As mentioned previously, technically a drive is just another document, with a list of the documents inside the drive. So it is obvious that you can create a custom editor for your drive-document.
|
|
38
|
+
|
|
39
|
+
These customized editors are called Drive explorers or Drive Apps. They provide custom views, organization tools, and interactive features tailored to specific use cases. For example, a Drive Explorer might present data as a Kanban board, provide aggregated insights, or offer specialized widgets for data processing.
|
|
40
|
+
|
|
41
|
+
To learn more about building and customizing Drive Explorers, check out our [Building a Drive Explorer](/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer) guide.
|
|
38
42
|
|
|
39
43
|
|
|
40
44
|
## Creating a New Drive
|
|
41
45
|
|
|
42
|
-

|
|
43
47
|
|
|
44
48
|
To create a new drive in Powerhouse, follow these steps:
|
|
45
|
-
1. Click on the "Create New Drive" button in the Connect interface or in the Connect sidebar on the (+) Icon.
|
|
46
|
-
2. In the modal that appears, enter a name for your drive in the "Drive Name" field.
|
|
49
|
+
1. Click on the "**Create New Drive**" button in the Connect interface or in the Connect sidebar on the (+) Icon.
|
|
50
|
+
2. In the modal that appears, enter a name for your drive in the "**Drive Name**" field.
|
|
47
51
|
3. Select the desired Drive App (such as the Generic Drive Explorer, or any other Drive App you've installed).
|
|
48
|
-
4. Choose the location for your drive: Local (only available to you), Cloud (available to people in this drive), or Public (available to everyone).
|
|
52
|
+
4. Choose the location for your drive: **Local** (only available to you), **Cloud** (available to people in this drive), or **Public** (available to everyone).
|
|
49
53
|
5. (Optional) Enable the "Make available offline" toggle if you want to keep a local backup of your drive.
|
|
50
54
|
6. Once all options are set, click the "Create new drive" button to finalize and create your drive.
|
|
51
55
|
|
|
56
|
+
## Adding a New Remote Drive via GraphQL Mutation
|
|
57
|
+
|
|
58
|
+
You can also add a new remote drive to your Connect environment programmatically using GraphQL mutations. This is especially useful for automation, scripting, or integrating with external systems.
|
|
59
|
+
|
|
60
|
+
### Prerequisites
|
|
61
|
+
- Access to the Switchboard or remote reactor (server node) of your Connect instance.
|
|
62
|
+
- The GraphQL endpoint for your instance. For example, for the staging environment, use: `https://staging.switchboard.phd/graphql/system` (this is a supergraph gateway).
|
|
63
|
+
- Appropriate permissions to perform mutations.
|
|
64
|
+
|
|
65
|
+
### Steps
|
|
66
|
+
1. **Navigate to the GraphQL Playground or use a GraphQL client**
|
|
67
|
+
- Open [https://staging.switchboard.phd/graphql/system](https://staging.switchboard.phd/graphql/system) in your browser, or use a tool like [GraphQL Playground](https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/).
|
|
68
|
+
|
|
69
|
+
2. **Prepare the Mutation**
|
|
70
|
+
- Use the following mutation to create a new drive:
|
|
71
|
+
|
|
72
|
+
```graphql
|
|
73
|
+
mutation Mutation($name: String!, $icon: String, $addDriveId: String, $slug: String) {
|
|
74
|
+
addDrive(name: $name, icon: $icon, id: $addDriveId, slug: $slug) {
|
|
75
|
+
icon
|
|
76
|
+
id
|
|
77
|
+
name
|
|
78
|
+
slug
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
- Example variables:
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"name": "AcademyTest",
|
|
87
|
+
"icon": "https://static.thenounproject.com/png/3009860-200.png",
|
|
88
|
+
"addDriveId": null,
|
|
89
|
+
"slug": null
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
- You can also provide a custom `id`, `slug`, or `preferredEditor` if needed.
|
|
93
|
+
|
|
94
|
+
3. **Execute the Mutation**
|
|
95
|
+
- Run the mutation. On success, you will receive a response containing the new drive's `icon`, `id`, `name`, and `slug`:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"data": {
|
|
100
|
+
"addDrive": {
|
|
101
|
+
"icon": "https://static.thenounproject.com/png/3009860-200.png",
|
|
102
|
+
"id": "6461580b-d317-4596-942d-f6b3d1bfc8fd",
|
|
103
|
+
"name": "AcademyTest",
|
|
104
|
+
"slug": "6461580b-d317-4596-942d-f6b3d1bfc8fd"
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
4. **Construct the Drive URL**
|
|
113
|
+
- Once you have the `id` or `slug`, you can construct the drive URL for Connect:
|
|
114
|
+
- Format: `domain/d/driveId` or `domain/d/driveSlug`
|
|
115
|
+
- Example: `https://staging.connect.phd/d/6461580b-d317-4596-942d-f6b3d1bfc8fd`
|
|
116
|
+
|
|
117
|
+
5. **Add the Drive in Connect**
|
|
118
|
+
- Use the constructed URL to add or access the drive in your Connect environment.
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
This approach allows you to automate drive creation and integration with other systems, making it easy to manage drives at scale.
|
|
123
|
+
|
|
124
|
+
|
|
@@ -49,7 +49,7 @@ Hovering over a revision reveals its event ID and state hash, providing traceabi
|
|
|
49
49
|
|
|
50
50
|
### Signature Verification
|
|
51
51
|
Clicking the signature badge shows signature details, including signer address, hash, and verification status. This ensures every operation is cryptographically auditable.
|
|
52
|
-
Read more about how we are using [Renown](/docs/
|
|
52
|
+
Read more about how we are using [Renown](/docs/academy/AdvancedTutorial/BuildingUserExperiences/Authorization/RenownAuthenticationFlow) for authentication & verification of signer data.
|
|
53
53
|
|
|
54
54
|

|
|
55
55
|
|
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
# sidebar_position: 1
|
|
3
|
-
sidebar_label: Renown Login Flow
|
|
4
|
-
displayed_sidebar: renownSidebar
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Renown Login Flow
|
|
1
|
+
# Renown Authentication Flow
|
|
8
2
|
|
|
9
3
|
The Renown login flow leverages decentralized identity (DID) creation and the Ceramic network for credential storage and verification, ensuring secure and verifiable actions within decentralized organizations. Below is a detailed breakdown of the process, aimed at developers integrating the Renown, Connect, and Switchboard components.
|
|
10
4
|
|
|
11
|
-
###
|
|
12
|
-
Renown provides a decentralized identity and reputation hub, where users connect their Ethereum address, creating a Decentralized Identifier (DID) tied to their wallet.
|
|
5
|
+
### Renown in the decentralized workplace
|
|
6
|
+
Renown provides a decentralized identity and reputation hub, where users connect their Ethereum address, creating a **Decentralized Identifier (DID)** tied to their wallet. Renown is designed to address the challenge of trust within DAOs, where contributors often operate under pseudonyms. In traditional organizations, personal identity and reputation are key to establishing trust and accountability. Renown replicates this dynamic in the digital space, allowing contributors to earn experience and build reputation without revealing their real-world identities. Over time, contributors can share their pseudonymous profiles with other organizations as cryptographic resumes, helping to secure new opportunities while maintaining privacy.
|
|
13
7
|
|
|
14
|
-
### Detailed Flow
|
|
8
|
+
### Detailed Login Flow
|
|
15
9
|
|
|
16
10
|
#### 1. User Login via Wallet Connection
|
|
17
11
|
- The user starts by logging into Renown using their Ethereum address. This is done by signing a message with their wallet.
|
|
18
12
|
- The Ethereum key is used to create a DID (Decentralized Identifier), which uniquely represents the user without exposing their personal identity.
|
|
19
13
|
|
|
14
|
+

|
|
15
|
+
|
|
20
16
|
#### 2. DID Creation
|
|
21
17
|
- A Decentralized Identifier (DID) is created based on the user's Ethereum key. The DID follows a specific format:
|
|
22
18
|
`did:example:123456789abcdefghijk`
|
|
@@ -30,6 +26,8 @@ Renown provides a decentralized identity and reputation hub, where users connect
|
|
|
30
26
|
- Connect uses the newly created DID to sign operations performed by the user. For example, when a document or transaction is edited in Connect, the operation is signed with the user's DID.
|
|
31
27
|
- This ensures that every action taken within the Connect system is linked to the user's decentralized identity, maintaining transparency and accountability.
|
|
32
28
|
|
|
29
|
+

|
|
30
|
+
|
|
33
31
|
#### 5. Switchboard Verification
|
|
34
32
|
- Once an operation is signed by the DID through Connect, it is sent to Switchboard for verification.
|
|
35
33
|
- Switchboard verifies whether the DID has a valid credential stored on Ceramic and if the DID was indeed the one that signed the operation.
|
|
@@ -49,6 +47,9 @@ Renown provides a decentralized identity and reputation hub, where users connect
|
|
|
49
47
|
- The operation is then either approved or rejected based on the verification results.
|
|
50
48
|
- Approved operations are processed, and changes made within the Connect system are synchronized across the relevant nodes.
|
|
51
49
|
|
|
50
|
+
<img src="/img/Renown Intro Diagram.png" alt="renown diagram"/>
|
|
51
|
+
*An overview of the Holder - Issuer - Verifier relationship that the decentralised identity system Renown makes use of to establish a self sovereign identity for it's users.*
|
|
52
|
+
|
|
52
53
|
:::info
|
|
53
54
|
**Key Components used during login-flow**
|
|
54
55
|
- **Renown**: Manages user identities via DID creation and Ethereum wallet integration.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1,40 @@
|
|
|
1
|
-
|
|
1
|
+
# Powerhouse CLI
|
|
2
|
+
|
|
3
|
+
### Installing the Powerhouse CLI
|
|
4
|
+
:::tip
|
|
5
|
+
The Powerhouse CLI tool is the only essential tool to install on this page.
|
|
6
|
+
Once you've installed it with the command below you can continue to the next steps.
|
|
7
|
+
:::
|
|
8
|
+
|
|
9
|
+
The Powerhouse CLI (`ph-cmd`) is a command-line interface tool that provides essential commands for managing Powerhouse projects. You can get access to the Powerhouse ecosystem tools by installing them globally using:
|
|
10
|
+
```bash
|
|
11
|
+
pnpm install -g ph-cmd
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Key commands include:
|
|
15
|
+
- `ph connect` for running the Connect application locally
|
|
16
|
+
- `ph switchboard` or `ph reactor` for starting the API service
|
|
17
|
+
- `ph init` to start a new project and build a Document Model
|
|
18
|
+
- `ph help` to get an overview of all the available commands
|
|
19
|
+
|
|
20
|
+
This tool will be fundamental on your journey when creating, building, and running Document Models
|
|
21
|
+
|
|
22
|
+
<details>
|
|
23
|
+
<summary> How to make use of different branches? </summary>
|
|
24
|
+
|
|
25
|
+
When installing or using the Powerhouse CLI commands you are able to make use of the dev & staging branches. These branches contain more experimental features then the latest stable release the PH CLI uses by default. They can be used to get access to a bugfix or features under development.
|
|
26
|
+
|
|
27
|
+
| Command | Description |
|
|
28
|
+
|---------|-------------|
|
|
29
|
+
| **pnpm install -g ph-cmd** | Install latest stable version |
|
|
30
|
+
| **pnpm install -g ph-cmd@dev** | Install development version |
|
|
31
|
+
| **pnpm install -g ph-cmd@staging** | Install staging version |
|
|
32
|
+
| **ph init** | Use latest stable version of the boilerplate |
|
|
33
|
+
| **ph init --dev** | Use development version of the boilerplate |
|
|
34
|
+
| **ph init --staging** | Use staging version of the boilerplate |
|
|
35
|
+
| **ph use** | Switch all dependencies to latest production versions |
|
|
36
|
+
| **ph use dev** | Switch all dependencies to development versions |
|
|
37
|
+
| **ph use prod** | Switch all dependencies to production versions |
|
|
38
|
+
|
|
39
|
+
Please be aware that these versions can contain bugs and experimental features that aren't fully tested.
|
|
40
|
+
</details>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Reactor Usage
|
|
File without changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Document-Engineering System
|
|
2
2
|
|
|
3
3
|
The reusable components are a set of of front-end components based on graphQL scalars.
|
|
4
4
|
Powerhouse also has a set of custom scalars that are not part of the graphQL standard but are specific to the web3 ecosystem.
|
|
5
|
-
These components are offered through the **Powerhouse
|
|
5
|
+
These components are offered through the **Powerhouse document-engineering system** with the help of storybook & the Academy documentation.
|
|
6
6
|
|
|
7
7
|
It provides a collection of pre-built, reusable UI components designed for consistency and efficiency across Powerhouse applications and editors. Think of it as a toolkit of standard UI elements like buttons, inputs, and checkboxes with many of these components based on graphql scalars.
|
|
8
8
|
|
|
@@ -49,9 +49,9 @@ We use Storybook as an interactive catalog for our design system components. It
|
|
|
49
49
|
2. **Usage Snippet:** Below the demo, you'll typically find a basic code example demonstrating how to include the component in your code (e.g., `<Checkbox defaultValue label="Accept terms and conditions" />`). This provides a starting point for implementation.
|
|
50
50
|
3. **Props Table:** Further down, a table lists the properties (`props`) the component accepts. Props are like settings or configuration options. For the `Checkbox`, this table would show props like `label`, `defaultValue`, `value`, `onChange`, etc., often with descriptions of what they control.
|
|
51
51
|
|
|
52
|
-
## Implementing a
|
|
52
|
+
## Implementing a Component
|
|
53
53
|
|
|
54
|
-
Let's walk through the typical workflow for using a component from the
|
|
54
|
+
Let's walk through the typical workflow for using a component from the document-engineering system, using the `Checkbox` from the [To-do List editor](/docs/academy/GetStarted/ToDoList/BuildToDoListEditor).
|
|
55
55
|
|
|
56
56
|
1. **Identify the Need:** While building your feature (e.g., the To-do List editor in `editor.tsx`), you determine the need for a standard UI element, like a checkbox.
|
|
57
57
|
2. **Consult the Resuable Components in Academy or in Storybook:**
|
|
@@ -8,7 +8,7 @@ These five applications are:
|
|
|
8
8
|
2. **Switchboard** – The data infrastructure and API engine.
|
|
9
9
|
3. **Fusion** – The public-facing collaboration hub.
|
|
10
10
|
4. **Renown** – The decentralized reputation and identity system.
|
|
11
|
-
5. **Academy** – The onboarding and learning
|
|
11
|
+
5. **Academy** – The onboarding and learning modules.
|
|
12
12
|
|
|
13
13
|
Each application is designed to be modular yet complementary, ensuring smooth data flows, structured collaboration, and scalable automation. The functionality of the four host apps offers an integrated experience for running decentralized operations.
|
|
14
14
|
|
|
@@ -636,6 +636,89 @@ ph generate --drive-editor <drive-app-name>
|
|
|
636
636
|
- [Build a Drive-Explorer](/docs/academy/AdvancedTutorial/BuildingUserExperiences/BuildingADriveExplorer)
|
|
637
637
|
</details>
|
|
638
638
|
|
|
639
|
+
<details id="adding-a-new-drive-via-graphql-mutation">
|
|
640
|
+
<summary>Adding a New Drive via GraphQL Mutation</summary>
|
|
641
|
+
|
|
642
|
+
## How to Add a New Remote Drive via GraphQL Mutation
|
|
643
|
+
---
|
|
644
|
+
|
|
645
|
+
## Problem Statement
|
|
646
|
+
You want to programmatically add a new remote drive to your Powerhouse Connect environment using a GraphQL mutation. This is useful for automation, scripting, or integrating with external systems.
|
|
647
|
+
|
|
648
|
+
## Prerequisites
|
|
649
|
+
- Access to the Switchboard or remote reactor (server node) of your Connect instance.
|
|
650
|
+
- The GraphQL endpoint for your instance (e.g., `https://staging.switchboard.phd/graphql/system`).
|
|
651
|
+
- Appropriate permissions to perform mutations.
|
|
652
|
+
|
|
653
|
+
## Solution
|
|
654
|
+
|
|
655
|
+
### Step 1: Access the GraphQL Playground or Client
|
|
656
|
+
Open the GraphQL Playground at your endpoint (e.g., [https://staging.switchboard.phd/graphql/system](https://staging.switchboard.phd/graphql/system)), or use a GraphQL client of your choice.
|
|
657
|
+
|
|
658
|
+
### Step 2: Prepare the Mutation
|
|
659
|
+
Use the following mutation to create a new drive, set a name and add a drive icon. Weither or not you define a ID & Slug is up to you:
|
|
660
|
+
|
|
661
|
+
```graphql
|
|
662
|
+
mutation Mutation($name: String!, $icon: String, $addDriveId: String, $slug: String) {
|
|
663
|
+
addDrive(name: $name, icon: $icon, id: $addDriveId, slug: $slug) {
|
|
664
|
+
icon
|
|
665
|
+
id
|
|
666
|
+
name
|
|
667
|
+
slug
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
```
|
|
671
|
+
|
|
672
|
+
Example variables:
|
|
673
|
+
```json
|
|
674
|
+
{
|
|
675
|
+
"name": "AcademyTest",
|
|
676
|
+
"icon": "https://static.thenounproject.com/png/3009860-200.png",
|
|
677
|
+
"addDriveId": null,
|
|
678
|
+
"slug": null
|
|
679
|
+
}
|
|
680
|
+
```
|
|
681
|
+
You can also provide a custom `id`, `slug`, or `preferredEditor` if needed.
|
|
682
|
+
|
|
683
|
+
### Step 3: Execute the Mutation
|
|
684
|
+
Run the mutation. On success, you will receive a response containing the new drive's `icon`, `id`, `name`, and `slug`:
|
|
685
|
+
|
|
686
|
+
```json
|
|
687
|
+
{
|
|
688
|
+
"data": {
|
|
689
|
+
"addDrive": {
|
|
690
|
+
"icon": "https://static.thenounproject.com/png/3009860-200.png",
|
|
691
|
+
"id": "6461580b-d317-4596-942d-f6b3d1bfc8fd",
|
|
692
|
+
"name": "AcademyTest",
|
|
693
|
+
"slug": "6461580b-d317-4596-942d-f6b3d1bfc8fd"
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
```
|
|
698
|
+
|
|
699
|
+
### Step 4: Construct the Drive URL
|
|
700
|
+
Once you have the `id` or `slug`, you can construct the drive URL for Connect:
|
|
701
|
+
- Format: `domain/d/driveId` or `domain/d/driveSlug`
|
|
702
|
+
- Example: `https://staging.connect.phd/d/6461580b-d317-4596-942d-f6b3d1bfc8fd`
|
|
703
|
+
|
|
704
|
+
### Step 5: Add the Drive in Connect
|
|
705
|
+
Use the constructed URL to add or access the drive in your Connect environment.
|
|
706
|
+
|
|
707
|
+
## Expected Outcome
|
|
708
|
+
- A new drive is created and accessible in your Connect environment.
|
|
709
|
+
- The drive can be managed or accessed using the generated URL.
|
|
710
|
+
|
|
711
|
+
## Related Recipes
|
|
712
|
+
- [Configuring Drives](/docs/academy/AdvancedTutorial/BuildingUserExperiences/ConfiguringDrives)
|
|
713
|
+
- [Initializing a New Project & Document Model](#initializing-a-new-project-and-document-model)
|
|
714
|
+
|
|
715
|
+
## Further Reading
|
|
716
|
+
- [GraphQL Playground](https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/)
|
|
717
|
+
- [Powerhouse Builder Tools](/docs/academy/AdvancedTutorial/Create/BuilderTools)
|
|
718
|
+
|
|
719
|
+
</details>
|
|
720
|
+
|
|
721
|
+
|
|
639
722
|
## Reactor Recipes
|
|
640
723
|
|
|
641
724
|
<details id="starting-the-reactor">
|
|
@@ -839,7 +922,7 @@ You need to understand and manage different types of dependencies in your Powerh
|
|
|
839
922
|
|
|
840
923
|
</details>
|
|
841
924
|
|
|
842
|
-
Data Synchronisation Recipes
|
|
925
|
+
## Data Synchronisation Recipes
|
|
843
926
|
|
|
844
927
|
<details id="troubleshooting-document-syncing">
|
|
845
928
|
<summary>Troubleshooting Document Syncing: Supergraph vs. Drive Endpoints</summary>
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Glossary
|
|
2
2
|
|
|
3
|
+
A great way to get familiar with the vision, philosophy and terminology of Powerhouse is by reading the [Book Of Powerhouse](./docs/bookofpowerhouse/Overview).
|
|
4
|
+
It offers an entry level, non-technical explainer to the high level vision of Powerhouse.
|
|
5
|
+
|
|
3
6
|
## General Terms
|
|
4
7
|
- **Powerhouse** – A network organization that provides open-source software and services to support decentralized operations for other network organizations.
|
|
5
8
|
- **Scalable Network Organization (SNO)** – A network organization structured according to the Powerhouse framework, designed for sustainable and scalable growth.
|
|
@@ -1,15 +1,41 @@
|
|
|
1
|
-
# Part 1: General Framework and
|
|
1
|
+
# **Part 1: Powerhouse General Framework and Open-Source Capitalism**
|
|
2
2
|
|
|
3
3
|
Powerhouse emerged in the wake of Ethereum’s DAO movement, which began gaining momentum after the collapse of *The DAO* in 2016. This turning point spurred the creation of blockchain-enabled organizations capable of operating without centralized corporate structures. Over the years, governance systems and decentralized operational tools have advanced, paving the way for the next generation of organizations across chains like Solana, Ethereum Layer 2 solutions, and beyond. Powerhouse aims to advance these principles and build large, global organizations around networks.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
- Decentralization is central to Powerhouse’s philosophy. It extends beyond infrastructure to organizational design, enabling entities to function independently of centralized authorities. Just as Ethereum allows value to be transferred globally without intermediaries, **Powerhouse envisions organizations coordinating workflows without relying on traditional hierarchies or centralized services.**
|
|
7
|
-
- This marks a new era for decentralization—not just in the infrastructure we use, but in how organizations operate and how contributors collaborate. Instead of a traditional top-down hierarchy pursuing a singular vision, Powerhouse envisions a web of aligned, incentivized entities working together to build and deliver products and services. Powerhouse is designed to simplify the creation and assignment of workflows, empowering decentralized contributor networks to thrive.
|
|
5
|
+
Powerhouse operates at the intersection of open-source innovation and decentralized coordination. This section outlines the philosophical foundation and systemic structure that guides its operations and vision—what we call “Open-Source Capitalism.”
|
|
8
6
|
|
|
9
|
-
### Open Source and Transparency
|
|
10
|
-
- Open source lies at the heart of Powerhouse. By eliminating lock-in to centralized services, open-source software (OSS) creates trust within network organizations, as the codebase is accessible to all. Additionally, open-source ecosystems create an environment of rapid innovation and collaboration. Powerhouse goes beyond simply releasing software as open source—its legal infrastructure and innovative revenue models aim to make open-source development sustainable and investable at scale.
|
|
11
|
-
- Today’s organizations often operate as opaque black boxes, forcing consumers to trust that centralized entities aren’t extracting disproportionate value. Inspired by blockchain and DeFi’s transparency, Powerhouse promotes openness as a risk-lowering measure. In DeFi, collateral and liquidity are publicly verifiable on-chain. Similarly, Powerhouse encourages public scrutiny and contributions, where anyone can inspect, analyze, or build without needing permission.
|
|
12
7
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
## **Why Open-Source Capitalism?**
|
|
9
|
+
|
|
10
|
+
Capitalism is the most powerful system of economic coordination ever invented. It incentivizes productivity, innovation, and risk-taking. But just as important—open-source has proven to be one of the most powerful engines of innovation within that system.
|
|
11
|
+
|
|
12
|
+
Open-source unlocks coordination across boundaries: between companies, communities, and individuals. It builds shared infrastructure at unprecedented speed, allows bottom-up experimentation, and lowers barriers to participation. This is why Big Tech, for all its closed platforms and walled gardens, has embraced open-source at the core of its own operations—releasing projects like React, Kubernetes, and TensorFlow not out of charity, but because open collaboration is often the best way to build foundational technology.
|
|
13
|
+
|
|
14
|
+
Yet this dynamic is incomplete. While open-source has dominated infrastructure, it has consistently struggled to capture value—particularly in consumer applications and services. The common assumption is that the challenge is distribution: how to equitably allocate funding, resources, and decision-making. But Open-Source Capitalism takes a broader view. Before we can redistribute value, we have to make sure value is being captured in the first place.
|
|
15
|
+
|
|
16
|
+
That’s the central promise of Open-Source Capitalism: not just to build open alternatives, but to make them self-sustaining, investable, and scalable. It’s about combining the pro-market, pro-innovation ethos of open-source with incentive structures that actually work—so we can build networks that don’t just survive, but thrive.
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## **Four Principles of Open-Source Capitalism**
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
1. **Coordination Through Marketplace Platforms** Open-Source Capitalism demands new types of platforms—public marketplaces where contributors, customers, and investors can interact transparently. Like Uber or Airbnb, these marketplaces optimize for liquidity and coordination, but with open governance and ownership. \
|
|
24
|
+
|
|
25
|
+
2. **Incentive Alignment via Tokens and Revenue Sharing** Powerhouse uses Proof of Work Tokens (POWTs) to compensate contributors fairly over time, enabling deferred compensation models that align long-term incentives. \
|
|
26
|
+
|
|
27
|
+
3. **Reinvestment Through Revenue-Generating Hubs** Monetized OSS must funnel returns back to the contributors. The RGH (Revenue Generating Hub) manages licensing, sales, and commercial transactions in alignment with decentralized values. \
|
|
28
|
+
|
|
29
|
+
4. **Make Open Source Investable** By enabling investor flows through the Operational Collateral Fund (OCF), open-source projects gain sustainable funding channels. Returns are tied to the downstream use of open infrastructure. \
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## **Decentralized Operations and Collaboration**
|
|
34
|
+
|
|
35
|
+
Open-Source Capitalism doesn’t work without new organizational structures. DAOs promised a way forward, but fell short: plagued by coordination failures, incentive misalignment, and lack of clarity around roles, responsibilities, and execution. Powerhouse emerged from this gap—building systems that retain the openness of decentralized networks while introducing the operational rigor of traditional institutions.
|
|
36
|
+
|
|
37
|
+
At the core of this approach is a belief in structured decentralization. Powerhouse enables independent teams to coordinate around shared goals, using workflows encoded in software rather than enforced by hierarchy. Contributors take ownership over workstreams, reputations are built over time, and budgets are allocated based on transparent processes. This is not decentralization for its own sake—it is a functional reimagining of how work gets done at scale.
|
|
38
|
+
|
|
39
|
+
Transparency plays a critical role. Rather than relying on opaque decision-making or internal politics, Powerhouse makes contributions, decisions, and payments legible. Governance and compensation are traceable across time, creating a persistent and auditable record of organizational behavior. The result is a system that fosters trust not just between individuals, but across entire networks.
|
|
40
|
+
|
|
41
|
+
This is what makes Powerhouse unique: it’s not just about running decentralized software—it’s about running decentralized organizations. Open-Source Capitalism is the economic philosophy. Scalable Network Organizations are the structure. And these principles come to life through the operational frameworks that guide every action on the network.
|
|
@@ -1,73 +1,44 @@
|
|
|
1
|
-
# Part 4:
|
|
1
|
+
# Part 4: Scalable Network Organizations (SNOs)
|
|
2
2
|
|
|
3
3
|
Decentralized Autonomous Organizations (DAOs) once promised to revolutionize global collaboration by enabling decentralized governance, transparent decision-making, and equitable ownership. However, the reality has often fallen short. DAOs have struggled with legal ambiguity, resource allocation inefficiencies, and broken incentive structures. These challenges have stifled their ability to scale and compete with centralized organizations.
|
|
4
4
|
|
|
5
5
|
Scalable Network Organizations (SNOs) emerge as the next evolutionary step. Combining the principles of decentralization with the operational rigor of traditional organizations, SNOs provide a structured framework for decentralized governance, sustainable operations, and global scalability. Powerhouse’s vision for SNOs aims to deliver on the original promise of DAOs, empowering organizations to scale without sacrificing their decentralized principles.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
### Core Components of SNOs[](https://staging.powerhouse.academy/docs/bookofpowerhouse/SNOsandANewModelForOSSandPublicGoods#core-components-of-snos)
|
|
8
9
|
|
|
9
10
|
At the heart of Scalable Network Organizations (SNOs) are five entities, each fulfilling a critical role in scaling decentralized operations. From governance to funding and IP management, these components work together to ensure alignment, collaboration, and financial sustainability.
|
|
10
11
|
|
|
11
|
-
- **DAO**
|
|
12
|
-
- The DAO is the governing entity responsible for setting the strategic vision and ensuring alignment across the SNO. Through on-chain governance mechanisms powered by smart contracts, the DAO facilitates transparent decision-making, distributed ownership, and accountability. Members participate in proposing and voting on budgets, initiatives, and key operational decisions, creating a decentralized system where authority is widely distributed rather than concentrated in a single entity.
|
|
13
|
-
- By maintaining immutable records and eliminating the need for intermediaries, the DAO supports scalable and adaptable governance structures that suit decentralized networks. Its ability to flexibly adapt rules and processes ensures that the SNO remains efficient and innovative as it grows, while retaining the values of transparency and inclusivity.
|
|
14
|
-
- **Operational Hub (OH)**
|
|
15
|
-
- The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
|
|
16
|
-
- The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
|
|
17
|
-
- **Operational Collateral Fund (OCF)**
|
|
18
|
-
- The OCF provides the financial infrastructure to fuel the SNO’s growth. It allocates resources to high-potential initiatives and rewards contributors by issuing Proof of Work Tokens (POWTs). These tokens align incentives by linking compensation to measurable contributions, ensuring that individuals and teams are motivated to create long-term value. POWTs represent a stake in the success of the network, making contributors invested in the outcomes of the projects they support.
|
|
19
|
-
- Beyond its internal role, the OCF also attracts external investment by offering structured opportunities for funding impactful projects within the network. By maintaining transparency in its allocation processes and linking funding to measurable outputs, the OCF builds trust among both contributors and investors, creating a virtuous cycle where capital supports meaningful innovation.
|
|
20
|
-
- **Revenue Generating Hub (RGH)**
|
|
21
|
-
- The RGH is the SNO’s commercial interface, enabling the network to generate sustainable revenue while maintaining its decentralized principles. It manages licensing agreements, product sales, and customer-facing activities, ensuring that all revenue-generating operations align with the broader goals set by the DAO. By addressing the regulatory complexities associated with handling fiat revenue or contractual obligations, the RGH provides a seamless bridge between decentralized networks and traditional market systems.
|
|
22
|
-
- The RGH supports multiple revenue streams, including enterprise licensing for proprietary versions of open-source software, subscription models for SaaS offerings, and consulting services tailored to client needs. A portion of the revenue collected flows back into the ecosystem, funding operations, rewarding contributors through the OCF, and sustaining the open-source projects that drive the SNO’s long-term success.
|
|
23
|
-
- **IP-Holding Entity (IPSPV)**
|
|
24
|
-
- The IP-Holding Entity safeguards the SNO’s intellectual property assets, including trademarks, copyrights, and other IP rights. It is responsible for enforcing licensing agreements and ensuring that the use of the network’s IP aligns with governance decisions made by the DAO. By employing a dual licensing model, the IPSPV supports open-source availability through copyleft licenses while generating revenue from enterprise licenses, allowing businesses to use proprietary versions of the SNO’s software.
|
|
25
|
-
- The IPSPV also plays a critical role in protecting the network’s creative assets from exploitation or infringement. It ensures that the IP is managed as a collective resource, aligned with the community’s mission and values, while providing a steady revenue stream for reinvestment into the ecosystem. By separating IP management from operational activities, the IPSPV ensures that the SNO remains focused on innovation without losing control of its most valuable assets.
|
|
26
12
|
|
|
27
|
-
### **Legal Foundations for SNOs**
|
|
28
13
|
|
|
29
|
-
|
|
14
|
+
* DAO
|
|
15
|
+
* The DAO is the governing entity responsible for setting the strategic vision and ensuring alignment across the SNO. Through on-chain governance mechanisms powered by smart contracts, the DAO facilitates transparent decision-making, distributed ownership, and accountability. Members participate in proposing and voting on budgets, initiatives, and key operational decisions, creating a decentralized system where authority is widely distributed rather than concentrated in a single entity.
|
|
16
|
+
* By maintaining immutable records and eliminating the need for intermediaries, the DAO supports scalable and adaptable governance structures that suit decentralized networks. Its ability to flexibly adapt rules and processes ensures that the SNO remains efficient and innovative as it grows, while retaining the values of transparency and inclusivity.
|
|
17
|
+
* Operational Hub (OH)
|
|
18
|
+
* The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
|
|
19
|
+
* The Operational Hub acts as the administrative core of the SNO, handling contributor relationships, compliance, and payment processing. By leveraging legal structures like Swiss Associations, the OH ensures contributors are protected from liability while enabling the SNO to interact with banks, vendors, and regulatory entities. This hub simplifies complex operations such as tax reporting, cross-border compliance, and contributor agreements, removing these burdens from individual participants.
|
|
20
|
+
* Operational Collateral Fund (OCF)
|
|
21
|
+
* The OCF provides the financial infrastructure to fuel the SNO’s growth. It allocates resources to high-potential initiatives and rewards contributors by issuing Proof of Work Tokens (POWTs). These tokens align incentives by linking compensation to measurable contributions, ensuring that individuals and teams are motivated to create long-term value. POWTs represent a stake in the success of the network, making contributors invested in the outcomes of the projects they support.
|
|
22
|
+
* Beyond its internal role, the OCF also attracts external investment by offering structured opportunities for funding impactful projects within the network. By maintaining transparency in its allocation processes and linking funding to measurable outputs, the OCF builds trust among both contributors and investors, creating a virtuous cycle where capital supports meaningful innovation.
|
|
23
|
+
* Revenue Generating Hub (RGH)
|
|
24
|
+
* The RGH is the SNO’s commercial interface, enabling the network to generate sustainable revenue while maintaining its decentralized principles. It manages licensing agreements, product sales, and customer-facing activities, ensuring that all revenue-generating operations align with the broader goals set by the DAO. By addressing the regulatory complexities associated with handling fiat revenue or contractual obligations, the RGH provides a seamless bridge between decentralized networks and traditional market systems.
|
|
25
|
+
* The RGH supports multiple revenue streams, including enterprise licensing for proprietary versions of open-source software, subscription models for SaaS offerings, and consulting services tailored to client needs. A portion of the revenue collected flows back into the ecosystem, funding operations, rewarding contributors through the OCF, and sustaining the open-source projects that drive the SNO’s long-term success.
|
|
26
|
+
* IP-Holding Entity (IPSPV)
|
|
27
|
+
* The IP-Holding Entity safeguards the SNO’s intellectual property assets, including trademarks, copyrights, and other IP rights. It is responsible for enforcing licensing agreements and ensuring that the use of the network’s IP aligns with governance decisions made by the DAO. By employing a dual licensing model, the IPSPV supports open-source availability through copyleft licenses while generating revenue from enterprise licenses, allowing businesses to use proprietary versions of the SNO’s software.
|
|
28
|
+
* The IPSPV also plays a critical role in protecting the network’s creative assets from exploitation or infringement. It ensures that the IP is managed as a collective resource, aligned with the community’s mission and values, while providing a steady revenue stream for reinvestment into the ecosystem. By separating IP management from operational activities, the IPSPV ensures that the SNO remains focused on innovation without losing control of its most valuable assets.
|
|
30
29
|
|
|
31
|
-
- **Multisig Participation Agreements (MPAs)**
|
|
32
|
-
|
|
33
|
-
MPAs are a foundational legal tool within the SNO framework. These agreements define the roles and responsibilities of multisig wallet signers, ensuring accountability and mitigating internal liability risks. By formalizing governance processes, MPAs reduce the chaos and inefficiency often associated with decentralized decision-making. They also protect contributors by clarifying liability boundaries, preventing signers from inadvertently exposing themselves to legal risks.
|
|
34
|
-
|
|
35
|
-
MPAs are fully customizable, allowing SNOs to adapt them to their specific operational needs. They integrate seamlessly with Gnosis Safe wallets, creating a transparent and secure environment for managing resources.
|
|
36
|
-
|
|
37
|
-
- **Swiss Associations**
|
|
38
|
-
|
|
39
|
-
Swiss Associations offer a flexible and cost-effective legal wrapper for early-stage SNOs. These entities provide liability protection, separate legal personhood, and the ability to engage in commercial activities that support the SNO’s mission. Notably, Swiss Associations do not require registration, preserving privacy while maintaining compliance. Their reputation as part of Switzerland’s crypto-friendly regulatory environment makes them ideal for DAOs transitioning into SNOs. These are typically used as legal structures for the OCR and IPSPV, while the OH and RGH may be Swiss foundations but their jurisdiction is likely determined by where inbound and outbound payments are taking place.
|
|
40
|
-
|
|
41
|
-
- **Open Source Legal Templates**
|
|
42
|
-
|
|
43
|
-
Powerhouse has developed a library of open-source legal templates to simplify the setup and operation of SNO entities. These templates include Contributor Agreements, MPAs, and licensing contracts, reducing the complexity and cost of navigating legal requirements. By standardizing these processes, Powerhouse enables SNOs to focus on innovation and growth.
|
|
44
|
-
|
|
45
30
|
|
|
46
|
-
###
|
|
31
|
+
### Legal Foundations for SNOs[](https://staging.powerhouse.academy/docs/bookofpowerhouse/SNOsandANewModelForOSSandPublicGoods#legal-foundations-for-snos)
|
|
47
32
|
|
|
48
|
-
|
|
33
|
+
Legal structures are crucial for the success of SNOs, providing clarity, compliance, and protection.
|
|
49
34
|
|
|
50
|
-
- **Aligning Incentives for Long-Term Value Creation**
|
|
51
|
-
|
|
52
|
-
POWTs ensure that contributors to open-source public goods receive recognition and potential future upside when their work enables successful projects. By retroactively distributing revenue from monetized components, POWTs create a self-sustaining funding loop, reducing dependence on grants or donations. Multipliers further incentivize contributions to high-impact, long-term infrastructure, ensuring that even foundational work—often undervalued in traditional models—receives proper recognition and financial participation.
|
|
53
|
-
|
|
54
|
-
- **Efficient Compensation & Scalable Contribution Tracking**
|
|
55
|
-
|
|
56
|
-
Instead of outdated timelogs, POWTs offer a transparent, structured accounting model that ties contributions directly to project components. Contributors receive compensation as a mix of cash and POWTs, with opportunity cost calculations ensuring fair valuation. POWTs act as on-chain attestations, enabling clear tracking of work history, efficient resource allocation, and dynamic revenue-sharing mechanisms that scale with the ecosystem’s growth. This structured approach streamlines financial operations across Scalable Network Organizations (SNOs).
|
|
57
|
-
|
|
58
|
-
- **Building Sustainable, Reputation-Driven Network Organizations**
|
|
59
|
-
|
|
60
|
-
POWTs reinforce decentralized governance by embedding reputation and financial sustainability into the ecosystem. Contributors accumulate POWTs as proof of their impact, unlocking higher compensation tiers, governance privileges, and access to new opportunities. Since POWTs are non-transferable but convertible into Investor POWTs, they balance incentive alignment with long-term network resilience. This model attracts builders, investors, and organizations to SNOs by ensuring that contributions are rewarded while keeping the system free from short-term speculation.
|
|
61
|
-
|
|
62
35
|
|
|
63
|
-
### IP Management
|
|
64
36
|
|
|
65
|
-
|
|
37
|
+
* Multisig Participation Agreements (MPAs) \
|
|
38
|
+
MPAs are a foundational legal tool within the SNO framework. These agreements define the roles and responsibilities of multisig wallet signers, ensuring accountability and mitigating internal liability risks. By formalizing governance processes, MPAs reduce the chaos and inefficiency often associated with decentralized decision-making. They also protect contributors by clarifying liability boundaries, preventing signers from inadvertently exposing themselves to legal risks. \
|
|
39
|
+
MPAs are fully customizable, allowing SNOs to adapt them to their specific operational needs. They integrate seamlessly with Gnosis Safe wallets, creating a transparent and secure environment for managing resources.
|
|
40
|
+
* Swiss Associations \
|
|
41
|
+
Swiss Associations offer a flexible and cost-effective legal wrapper for early-stage SNOs. These entities provide liability protection, separate legal personhood, and the ability to engage in commercial activities that support the SNO’s mission. Notably, Swiss Associations do not require registration, preserving privacy while maintaining compliance. Their reputation as part of Switzerland’s crypto-friendly regulatory environment makes them ideal for DAOs transitioning into SNOs. These are typically used as legal structures for the OCR and IPSPV, while the OH and RGH may be Swiss foundations but their jurisdiction is likely determined by where inbound and outbound payments are taking place.
|
|
42
|
+
* Open Source Legal Templates \
|
|
43
|
+
Powerhouse has developed a library of open-source legal templates to simplify the setup and operation of SNO entities. These templates include Contributor Agreements, MPAs, and licensing contracts, reducing the complexity and cost of navigating legal requirements. By standardizing these processes, Powerhouse enables SNOs to focus on innovation and growth.
|
|
66
44
|
|
|
67
|
-
- **Dual Licensing Model**
|
|
68
|
-
|
|
69
|
-
SNOs use a dual licensing approach to balance openness and monetization. A copyleft license governs the open-source version, requiring derivative works to remain open-source. Enterprise licenses allow proprietary use, generating revenue for the ecosystem.
|
|
70
|
-
|
|
71
|
-
- **IP-Holding Entity**
|
|
72
|
-
|
|
73
|
-
The IPSPV serves as the guardian of intellectual property, managing licenses and defending against infringement. Structured as a neutral, autonomous entity, the IPSPV ensures that IP remains aligned with the SNO’s mission while facilitating revenue generation through licensing agreements.
|
|
@@ -1,17 +1,48 @@
|
|
|
1
|
-
# Part 5:
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
# **Part 5: Powerhouse Platforms – Decentralized Operations and Builder**
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
## **Introduction**
|
|
5
|
+
|
|
6
|
+
The Powerhouse architecture is not only organizational but also deeply technological. To enable scalable network organizations (SNOs) to operate effectively, Powerhouse has developed two core platforms that provide the infrastructure for decentralized coordination and execution: the **Decentralized Operations Platform** and the **Builder Platform**. These platforms are complementary: one structures and stabilizes daily operations; the other opens up participation and innovation.
|
|
7
|
+
|
|
8
|
+
Together, they form the digital substrate of the Powerhouse model, encoding its governance logic, collaboration structures, and incentive mechanisms directly into software.
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## **Decentralized Operations Platform**
|
|
15
|
+
|
|
16
|
+
The Decentralized Operations Platform serves as the operational engine of a SNO. It provides the workflows, rules, and execution logic required for contributors to collaborate without a central management layer. This includes systems for compensation, budgeting, IP management, and contributor reputation.
|
|
17
|
+
|
|
18
|
+
At its core, the platform acts as a programmable coordination system. Contributors are onboarded, assigned tasks, compensated, and recognized through transparent, rule-based processes encoded in smart contracts and synchronized document models. These workflows are not static: they evolve based on activity, inputs, and contributor feedback, adapting to the changing needs of the network.
|
|
19
|
+
|
|
20
|
+
The Decentralized Operations Platform also embeds accountability. Actions taken on the platform generate verifiable records—both financial and reputational—that form a shared source of truth. Disputes can be resolved, work can be audited, and contributors can prove their track record across projects and teams. This persistent memory allows SNOs to grow while retaining coherence and trust.
|
|
21
|
+
|
|
22
|
+
Strategically, the platform supports multiple service categories, including governance operations, legal and financial services, and compliance. Each of these is modular, and the marketplace of service providers enables networks to plug in what they need, when they need it. Revenue is structured around project-based transactions and reinforced by policies that encourage on-platform fulfillment, ensuring alignment across stakeholders.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## **Builder Platform**
|
|
29
|
+
|
|
30
|
+
While the Decentralized Operations Platform governs execution, the Builder Platform governs creation. It is designed for extending the Powerhouse architecture—enabling developers and contributors to build new tools, workflows, and modules that others in the ecosystem can use.
|
|
31
|
+
|
|
32
|
+
The Builder Platform represents a shift in how coordination infrastructure is developed. Instead of building monolithic applications, contributors define document types, schemas, automation rules, and interfaces as reusable modules. These are published to a shared registry, where they can be discovered, forked, extended, or monetized.
|
|
33
|
+
|
|
34
|
+
Every time a module is used in another network’s deployment, its original authors receive a share of the value generated. In this way, Powerhouse makes open-source infrastructure economically sustainable and creates a new incentive model for public goods.
|
|
35
|
+
|
|
36
|
+
Technically, the Builder Platform is integrated with the rest of the Powerhouse stack. Its outputs are interoperable with the Operations Platform, the Governance layer, and the contributor onboarding systems. It uses typed schemas, CLI scaffolding, and standardized packaging to ensure modules are composable and production-ready.
|
|
37
|
+
|
|
38
|
+
Strategically, the platform ensures that innovation remains decentralized. No single team or organization controls what can or cannot be built. Any contributor with sufficient context and intent can extend the system—and be rewarded for doing so. This model transforms Powerhouse from a static platform into a living ecosystem.
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
## **A Unified Infrastructure Layer**
|
|
45
|
+
|
|
46
|
+
Together, these platforms operationalize the vision of scalable, decentralized networks. The Operations Platform provides the scaffolding for work: roles, rules, payments, and projects. The Builder Platform enables the ecosystem to evolve: by building, sharing, and monetizing new capabilities. They are not products to be sold—they are foundational infrastructure for a new kind of organization.
|
|
47
|
+
|
|
48
|
+
Powerhouse is not simply offering software; it is building the operating system for a post-corporate world.
|
package/entrypoint.sh
ADDED
package/package.json
CHANGED
package/sidebars.ts
CHANGED
|
@@ -12,22 +12,56 @@ import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
|
|
|
12
12
|
*/
|
|
13
13
|
const sidebars: SidebarsConfig = {
|
|
14
14
|
// By default, Docusaurus generates a sidebar from the docs folder structure
|
|
15
|
-
academySidebar: [
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
academySidebar: [
|
|
16
|
+
{
|
|
17
|
+
type: 'category',
|
|
18
|
+
label: 'Get Started',
|
|
19
|
+
items: [{ type: 'autogenerated', dirName: 'academy/01-GetStarted' }],
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
type: 'category',
|
|
23
|
+
label: 'Advanced Tutorial',
|
|
24
|
+
items: [{ type: 'autogenerated', dirName: 'academy/02-AdvancedTutorial' }],
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
type: 'category',
|
|
28
|
+
label: 'API References',
|
|
29
|
+
items: [{ type: 'autogenerated', dirName: 'academy/03-APIReferences' }],
|
|
30
|
+
},
|
|
18
31
|
|
|
19
|
-
|
|
20
|
-
/*
|
|
21
|
-
tutorialSidebar: [
|
|
22
|
-
'intro',
|
|
23
|
-
'hello',
|
|
32
|
+
// Manually define the Component Library category
|
|
24
33
|
{
|
|
25
34
|
type: 'category',
|
|
26
|
-
label: '
|
|
27
|
-
items: [
|
|
35
|
+
label: 'Component Library',
|
|
36
|
+
items: [
|
|
37
|
+
{
|
|
38
|
+
type: 'html',
|
|
39
|
+
value: `
|
|
40
|
+
<a href="https://storybook.powerhouse.academy/" target="_blank" rel="noopener" style="display: flex; align-items: center; gap: 6px; font-weight: 500; text-decoration: none;">
|
|
41
|
+
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" style="vertical-align: middle; margin-left: 13px;">
|
|
42
|
+
<rect width="24" height="24" rx="4" fill="#FF4785"/>
|
|
43
|
+
<text x="12" y="16" text-anchor="middle" fill="white" font-size="12" font-family="Arial" font-weight="bold">SB</text>
|
|
44
|
+
</svg>
|
|
45
|
+
Storybook
|
|
46
|
+
</a>
|
|
47
|
+
`,
|
|
48
|
+
},
|
|
49
|
+
// Autogenerate the rest of the docs in this folder
|
|
50
|
+
{type: 'autogenerated', dirName: 'academy/04-ComponentLibrary'},
|
|
51
|
+
],
|
|
28
52
|
},
|
|
53
|
+
|
|
54
|
+
// Everything after Component Library is still autogenerated
|
|
55
|
+
{
|
|
56
|
+
type: 'category',
|
|
57
|
+
label: 'Architecture',
|
|
58
|
+
items: [{ type: 'autogenerated', dirName: 'academy/05-Architecture' }],
|
|
59
|
+
},
|
|
60
|
+
{ type: 'doc', id: 'academy/Cookbook', label: 'Cookbook' },
|
|
61
|
+
{ type: 'doc', id: 'academy/Glossary', label: 'Glossary' },
|
|
62
|
+
// ...add more as needed
|
|
29
63
|
],
|
|
30
|
-
|
|
64
|
+
bookofpowerhouseSidebar: [{type: 'autogenerated', dirName: 'bookofpowerhouse'}],
|
|
31
65
|
};
|
|
32
66
|
|
|
33
67
|
export default sidebars;
|
|
@@ -41,7 +41,7 @@ const FeatureList: FeatureItem[] = [
|
|
|
41
41
|
{
|
|
42
42
|
title: "Renown",
|
|
43
43
|
imageSrc: require("@site/static/img/renown.png").default,
|
|
44
|
-
docPath: "/docs/
|
|
44
|
+
docPath: "/docs/academy/AdvancedTutorial/BuildingUserExperiences/Authorization/RenownAuthenticationFlow",
|
|
45
45
|
description: (
|
|
46
46
|
<>
|
|
47
47
|
Dive into the customizable reputation system
|
package/ProcFile
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
web: npm run serve -- --port $PORT --host 0.0.0.0
|
package/docs/renown/01-intro.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
# sidebar_position: 1
|
|
3
|
-
sidebar_label: Renown
|
|
4
|
-
displayed_sidebar: renownSidebar
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Intro to Renown
|
|
8
|
-
|
|
9
|
-
Renown is Powerhouse's decentralized identity and reputation system designed to address the challenge of trust within DAOs, where contributors often operate under pseudonyms. In traditional organizations, personal identity and reputation are key to establishing trust and accountability. Renown replicates this dynamic in the digital space, allowing contributors to earn experience and build reputation without revealing their real-world identities.
|
|
10
|
-
|
|
11
|
-
## Decentralised identifiers & Verifiable Credentials
|
|
12
|
-
|
|
13
|
-
At its core, Renown uses **decentralized identifiers and credentials**, enabling contributors to sign actions and contributions with their digital identity (tethered to Ethereum addresses), ensuring verifiable proof of their work. This reputation system incentivizes value-aligned behavior through gamification rewards, fostering collaboration without the need for direct management oversight. Over time, contributors can share their pseudonymous profiles with other organizations as cryptographic resumes, helping to secure new opportunities while maintaining privacy.
|
|
14
|
-
|
|
15
|
-
By enabling trust and accountability in a pseudonymous environment, Renown strengthens decentralized collaboration and contributes to the scalability and efficiency of DAOs and open organisations.
|
|
16
|
-
|
|
17
|
-
<img src="/img/Renown Intro Diagram.png" alt="renown diagram"/>
|
|
18
|
-
*An overview of the Holder - Issuer - Verifier relationship that the decentralised identity system Renown makes use of to establish a self sovereign identity for it's users.*
|
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/01-CreateNewPowerhouseProject.md
RENAMED
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/02-DefineToDoListDocumentModel.md
RENAMED
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/03-ImplementOperationReducers.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/DocumentModelHeader.png
RENAMED
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/DocumentModelOperations.png
RENAMED
|
File without changes
|
/package/docs/academy/01-GetStarted/{02-ToDoList → 03-ToDoList}/images/OpenDocumentModelEditor.gif
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|