Skip to content

Commit

Permalink
New Developer Portal Content (#92)
Browse files Browse the repository at this point in the history
- Adding initial new content
- Renaming the Lightpaper to Core
- Support for buttons in markdown

Closes #88
Closes #89
Closes #90
Closes #91
  • Loading branch information
wilwade authored Oct 29, 2024
1 parent cab6a77 commit 862f66f
Show file tree
Hide file tree
Showing 8 changed files with 254 additions and 9 deletions.
9 changes: 9 additions & 0 deletions .spellcheckerdict.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ De-registration
DevOps
disintermediate
DNS
dropdown
DSNP
EC2
ECC
Expand All @@ -57,6 +58,7 @@ IPFS
ipfs
JS
jsonrpc
lifecycle
[Ll]ightpaper
localhost
LockIdentifier
Expand All @@ -69,6 +71,7 @@ mempool
Merkle
MeWe
mFRQCY
[Mm]icroservice(s?)
Milli
MinimumStakingAmount
MSA(s|'s)?
Expand Down Expand Up @@ -110,11 +113,13 @@ RPC(s?)
Ryzen
scalability
scalable
SDK(s?)
[Ss]chemaI[Dd]
[Ss]chemas
Screenshots
secp256k1
SignedExtension
SIWF
SMT
SR25519
SSD
Expand Down Expand Up @@ -148,6 +153,7 @@ validator(s?)
vCPU
vs
[Ww]asm
Web2
web3
WebSocket(s?)
whitespace
Expand All @@ -167,6 +173,7 @@ trackable
Amplica
algorithmically
optionality
OpenAPI
annum
incentivize
Paseo
Expand Down Expand Up @@ -199,3 +206,5 @@ blockspace
permissionless
TBD
precalculated
unfollowing
[Ww]ebhook(s?)
24 changes: 19 additions & 5 deletions css/extended.css
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,24 @@
padding: 10px 0;
}

.button-links {
.button-links,
.button-links > p {
display: flex;
justify-content: space-around;
align-content: center;
align-items: stretch;
flex-wrap: wrap;
}

.button-links > p {
width: 100%;
margin: 0;
}

.button-links a,
.button-links a:link {
.button-links > p a,
.button-links a:link,
.button-links > p a:link {
box-sizing: content-box;
font-weight: 300;
color: var(--button-nav-fg);
Expand All @@ -60,7 +68,9 @@

@media screen and (max-width: 1080px) {
.button-links a,
.button-links a:link {
.button-links > p a,
.button-links a:link,
.button-links > p a:link {
box-sizing: border-box;
margin: 10px 6px;
flex: 0 0 90%;
Expand All @@ -71,7 +81,9 @@

@media screen and (max-width: 400px) {
.button-links a,
.button-links a:link {
.button-links > p a,
.button-links a:link,
.button-links > p a:link {
box-sizing: border-box;
margin: 10px 6px;
flex: 0 0 100%;
Expand All @@ -81,7 +93,9 @@
}

.button-links a:hover,
.button-links a:visited:hover {
.button-links > p a:hover,
.button-links a:visited:hover,
.button-links > p a:visited:hover {
text-decoration: none;
border: 2px solid var(--button-nav-hover);
color: var(--button-nav-fg);
Expand Down
2 changes: 1 addition & 1 deletion pages/Lightpaper.md → pages/Core.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Frequency Lightpaper
# Frequency Core

Frequency is a purpose-built Layer 1 public blockchain designed to fulfill the promise of the [Decentralized Social Networking Protocol (DSNP)](https://www.dsnp.org).
Frequency delivers essential infrastructure to create the next generation of social networking apps that give individuals more control over their data and agency to participate in the evolving digital economy.
Expand Down
61 changes: 61 additions & 0 deletions pages/Guides/BecomeAProvider.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Become a Provider

## What is a Provider?

In the Frequency ecosystem, a **Provider** is an entity (often an application or service) that interacts directly with the Frequency blockchain on behalf of users.
Providers handle transactions, manage user delegations, and facilitate various operations within the network.

### From a developer's perspective, Providers:

* **Create and Update User Content with Permission:** Providers publish new content or modify existing content on behalf of users, such as posts, comments, and other social interactions, after obtaining the user's consent.
* **Maintain the User's Social Graph:** Providers manage and update users' social connections, such as following or unfollowing other users, and maintaining friend lists, ensuring that the user's relationships are accurately represented on the blockchain.
* **Store User Content and Write Links to It on Frequency:** Providers either store user-generated content files (e.g., media files, documents) or links to off-chain storage of these content files on the Frequency blockchain, enabling decentralized access and verification.
* **Simplify User Participation:** By handling transaction complexities and fees, Providers make blockchain applications more accessible to end-users who may not possess sufficient technical knowledge or hold tokens.
* **Manage Delegated Tasks:** Users delegate specific permissions to Providers, allowing them to perform only those specified actions on the user's behalf in a secure and transparent manner.
* **Enhance User Experience:** Providers may offer intuitive user interfaces and seamless interactions, so users don't need to experience or understand the underlying blockchain mechanics.

## How to Become a Provider

Before you become a provider on Testnet, you will need to make sure you have a wallet and Testnet Token.
To set up your digital wallet and obtain testnet tokens go to [https://faucet.testnet.frequency.xyz/](https://faucet.testnet.frequency.xyz/) and follow these directions for setting a wallet and getting tokens.

## Step 1: Generate Your Keys

There are various wallets that can generate and secure Frequency compatible keys, including:

- [Polkadot Extension](https://polkadot.js.org/extension/)
- [Talisman](https://www.talisman.xyz)
- [See more](https://polkadot.com/get-started/wallets)

This onboarding process will guide you through the creation of an account and the creation of a Provider Control Key which will be required for many different transactions.

## Step 2: Acquire Testnet Tokens

Taking the account generated in Step 1, visit the Frequency Testnet Faucet [Testnet Faucet](https://faucet.testnet.frequency.xyz/), and follow the prompts to get tokens.

## Step 3: Create a Testnet Provider

- Visit the [Provider Dashboard](https://provider.frequency.xyz/) to set up your official Provider account on the Frequency Testnet.
- On the Provider Dashboard, you will be asked to select which network you would like to join from the dropdown. You may select among the available networks: Mainnet, Testnet on Paseo, Localhost, or Custom. Select Testnet on Paseo.
- Select your account ID from the dropdown. (This is the Application Account you created in Step 1.)
- Select Create an MSA and approve the transaction popups.
- Enter a Provider name. You should enter the name you wish register under as a Provider (typically a company or application name).

NOTE: Once registered, your provider status remains permanent in order to maintain transaction verification integrity.

## Step 4: Gain Capacity

[Capacity](../Tokenomics/ProviderIncentives.md#capacity-model) is the ability to perform some transactions without token cost.
All interactions with the chain that an application does on behalf of a user can be done with Capacity.

Login to the [Provider Dashboard](https://provider.frequency.xyz/), select Stake to Provider, and stake 100 XRQCY Tokens.
This will give you enough Capacity for testing.

## Step 5: Done!

You are now registered as a Provider on Testnet and have Capacity to do things like support users with [Single Sign On](./SSO.md).
You can also use the [Provider Dashboard](https://provider.frequency.xyz/) to add additional Control Keys for safety.

Ready to move to production? [Become a Provider on Mainnet](https://projectlibertylabs.github.io/gateway/GettingStarted/BecomeProvider.html#mainnet).

**[Become a Provider Today](https://provider.frequency.xyz/)**
86 changes: 86 additions & 0 deletions pages/Guides/Gateway.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Frequency Gateway

## Why Frequency Gateway?

[Gateway](https://projectlibertylabs.github.io/gateway/) provides a Simple Blockchain Integration for Your Applications–bridging the gap between your app and the decentralized web.

Gateway offers a suite of tools and services that make it easy to connect your applications to the Frequency blockchain. This allows your development team to focus on building outstanding user experiences without managing the complexity of blockchain interactions.

## What is Frequency Gateway?

**Gateway** provides a simple API to interact with the Frequency social layers (including identity, Universal Social Graph, content, and more). It includes a suite of tools you can select to build the best applications for your users.

### Key Features:

#### Get Web2 API Simplicity with Decentralized Power:

- **Build Your Applications Faster:** Accelerate development with familiar Web2 tools and interfaces.
- **Own Your Infrastructure:** Deploy and manage your own services for greater control and customization.
- **OpenAPI/Swagger Out of the Box:** Utilize comprehensive documentation and standardized APIs for seamless integration.
- **Automated Deployment with Docker:** Deploy services quickly using optimized Docker containers.

#### Customize for your users:

- **Add Decentralized Authentication and Onboarding Workflows:** Integrate secure, decentralized user authentication with ease.
- **Connect Your Users with Their Universal Social Graph:** Access and manage user relationships across the decentralized network.
- **Read, Write, and Interact with Social Media Content:** Enable rich social interactions within your application.

## How Can I Integrate Frequency Gateway?

Gateway is composed of independent, standalone microservices, allowing you to use only those components you need. These microservices provide simple APIs for interacting with various aspects of the Frequency network.

### Key Microservices:

#### 1. Account Service

The Account Service enables easy interaction with accounts on Frequency. Accounts are defined with an `msaId` (64-bit identifier) and can contain additional information such as a handle, keys, and more.

[Account Service Docs](https://projectlibertylabs.github.io/gateway/Build/AccountService/AccountService.html)

##### Features:

- **Account Authentication and Single Sign-On:** Simplifies user onboarding with Sign-In with Frequency (SIWF).
- **Delegation Management:** Manages permissions and actions delegated by users.
- **User Handle Creation and Retrieval:** Creates and manages unique, user-selected user handles within the network.
- **User Key Retrieval and Management:** Accesses and securely manages user cryptographic keys.

#### 2. Universal Social Graph Service

The Graph Service enables easy interaction with social graphs on Frequency. Each graph connection can be private or public and can be unidirectional (a follow) or bidirectional (mutually opted-in friend connection).

[Social Graph Service Docs](https://projectlibertylabs.github.io/gateway/Build/GraphService/GraphService.html)

##### Features:

- **Fetch User Graph:** Retrieves a user's social connections and relationships.
- **Update Delegated User Graphs:** Modifies social graphs on behalf of users with their permission.
- **Watch Graphs for External Updates:** Monitors changes in the network to keep user data up to date.

#### 3. Content Publishing Service

The Content Publishing Service enables the creation of new content-related activities on Frequency.

[Content Publishing Service Docs](https://projectlibertylabs.github.io/gateway/Build/ContentPublishing/ContentPublishing.html)

##### Features:

- **Create Posts to Publicly Broadcast:** Publishes content that is visible across the entire network.
- **Create Replies to Posts:** Facilitates conversations by allowing users to reply to content.
- **Create Reactions to Posts:** Enables users to interact with content.
- **Create Updates to Existing Content:** Modifies or enhances previously published content.
- **Request Deletion of Content:** Manages the content lifecycle by allowing deletion requests.
- **Store and Attach Media with IPFS:** Utilizes InterPlanetary File System (IPFS) links for decentralized media storage.

#### 4. Content Watcher Service

The Content Watcher Service enables client applications to process content found on Frequency by registering for webhook notifications that are triggered when relevant content is found, eliminating the need to interact with or query the chain for new content.

[Content Watcher Service Docs](https://projectlibertylabs.github.io/gateway/Build/ContentWatcher/ContentWatcher.html)

##### Features:

- **Parse and Validate Frequency Content:** Ensures content integrity and compliance with network standards.
- **Filterable Webhooks:** Receive notifications based on specific content filters.
- **Scanning Control:** Manage how and when the service scans for new content.

**[Start Using Gateway](https://projectlibertylabs.github.io/gateway/)**
64 changes: 64 additions & 0 deletions pages/Guides/SSO.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Sign-In With Frequency (Single Sign On)

## Why Sign-In With Frequency?

Sign-in With Frequency (SIWF) allows you to enhance Your app with secure, decentralized Identity by integrating seamless and secure user authentication. With (SIWF), you can provide your users with a decentralized identity solution that puts them in control of their data, thus enhancing trust and security within your app while embracing the future of user authentication.

## What is Sign-In with Frequency?

Sign-In with Frequency (SIWF) provides comprehensive documentation and tools to integrate with Frequency Access, an easy-to-use single sign-on identity solution for users on Frequency. SIWF simplifies the authentication process, allowing users to access the entire Frequency ecosystem effortlessly while maintaining control over their personal data.

By leveraging Frequency Access, you can offer your users a seamless experience, making it easier for consumers to engage with your application without confronting the complexities of blockchain technology. We highly recommend using Frequency Access before going to production can help to ensure a smooth onboarding process for your users. Additionally, developers benefit by receiving verified emails, enhancing security and trust within your application.

---

### Key Features

Easy Integration:

- Utilize our developer-friendly documentation and tools to quickly add SIWF to your applications.
- Frequency Access streamlines the setup process, allowing you to integrate authentication and identity management with minimal effort.
- Implementing Frequency Access before going to production simplifies user onboarding and enhances the overall user experience.

Secure Authentication:

- Frequency Access verifies users and manages the signing of requested payloads, ensuring a secure authentication process.
- Developers receive verified emails that enhance communication and security within your application.

Universal Identity and Authentication:

- Offers users a familiar and standardized sign-in experience with a consistent sign-in button.
- Allows users to effortlessly claim their Universal Handle and establish their unique identity across the Frequency ecosystem.

User Control:

- Ensures users maintain control over their own data as they grant specific delegations and credentials to providers.
- Provides transparency and trust between your application and its users.

Seamless User Experience:

- Offers a familiar sign-in process that allows users to effortlessly take control of their accounts without needing to understand cryptography, blockchain, or complex technical details.
- Reduces barriers to entry, encouraging more users to engage with your application.

Verified Identity:

- Frequency Access verifies emails on your behalf, ensuring that your users own the email addresses they provide.
- Verified user emails, enhance security and enable reliable communication.

---

Integrating Sign-In with Frequency and utilizing Frequency Access, makes it easier for consumers to interact with your application while maintaining high security standards. This approach is highly recommended before moving to production to ensure a smooth and efficient user experience.

## How to Integrate SIWF

1. **Get a Quick Start:** Access our comprehensive [JavaScript Quick Start Guide](https://projectlibertylabs.github.io/siwa/QuickStart.html) to begin integrating SIWF into your application seamlessly, and leverage our SDKs and sample code to accelerate development.
2. **Simplify Integration with Gateway Account Service:** [Utilize the Gateway Account Service](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html) to streamline the setup of SIWF without deploying the entire Gateway suite. The Gateway Account Service provides essential functionalities for account management and authentication, making it easier and faster to integrate SIWF into your application.

#### Benefits of Gateway Account Service:

- Reduces complexity by focusing only on the necessary components.
- Saves time and resources during development.
- Maintains flexibility to incorporate additional Gateway services in the future if needed.
- _Learn more about the Gateway Account Service and how it can simplify your SIWF integration [in the documentation](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html)._

**[Integrate SIWF with Your App](https://projectlibertylabs.github.io/gateway/GettingStarted/SSO.html)**
2 changes: 1 addition & 1 deletion pages/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
- [Become a Provider](Guides/BecomeAProvider.md)
- [Gateway](Guides/Gateway.md)
- [Add Single Sign-On to your App](Guides/SSO.md)
- [Lightpaper](Lightpaper.md)
- [Core](Core.md)
- [Architecture](Architecture/index.md)
- [Operational Model](Architecture/OperationalModel.md)
- [Interaction Model](Architecture/InteractionModel.md)
Expand Down
15 changes: 13 additions & 2 deletions pages/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Frequency Documentation
# Frequency

{{#button-links}}
Deep Dive into the Technology Behind Frequency

Expand your expertise and master the Frequency blockchain. Whether you're a beginner or an experienced developer, our resources will guide you through the intricacies of the network. Gain the skills you need to innovate and build the next generation of decentralized applications.

<div class="button-links">

[Become a Provider](./Guides/BecomeAProvider.md)
[Gateway](./Guides/Gateway.md)
[Single Sign-on](./Guides/SSO.md)
[Frequency Core](./Core.md)

</div>

0 comments on commit 862f66f

Please sign in to comment.