11 Commits
Author SHA1 Message Date
swb d965c426c9 fix: CNAME file issue
CNAME file was located in ./static-assets, but it should be in the
`out` directory after the build stage because the `out` folder was
created in the `build` stage.
2023-03-21 18:08:37 +00:00
amirhouieh 803c8394f4 remove vercel actions 2023-03-17 12:21:15 +01:00
Jakub 4d9b031fad Merge pull request #6 from vacp2p/jenkins-ci
add jenkinsfile and CNAME file
2023-03-16 15:00:49 +01:00
swb cb91201725 add jenkinsfile and CNAME file
The current implementation of the site builder requires content
repo to be submited as a zip file for production using env vars
`CONTENT_SOURCE_TYPE=git` and `CONTENT_SOURCE_URL=repo-link.zip`
which is not considered a best practice. Due to this, a race
condition may occur during the build process if another commit
is made while the build is in progress which may lead a security
flow. To work around this,first, we checkout into `src` using
`checkoutToSubdirectory('src')`. Then, we use `local_folder`
mode using `CONTENT_SOURCE_TYPE=local_folder` and
`CONTENT_SOURCE_URL=..src` env vars, just like a local develop.
`local_folder` mode copies the website files from `src` into
`docs` because the site builder is incapable of copying it.
We checkout the builder into the `builder` directory and run
the `install` and `build` commands inside of that directory.
Finally, for publish stages, we copy the `out` directory into
the site repo, since the out directory is in the wrong repo.
2023-03-15 20:56:39 +00:00
oskarth b60935b5a1 Remove index file 2022-11-23 16:41:54 +08:00
oskarth fa2a14b565 Initial cut of RLNP2P site 2022-11-23 16:37:56 +08:00
amir houieh 84bc84b522 Merge pull request #5 from vacp2p/staging
Update README.md
2022-11-22 11:46:20 +01:00
amir houieh 3a95deffaa Merge pull request #4 from vacp2p/rlnp2p-landingpage
Rlnp2p landingpage
2022-11-22 11:41:52 +01:00
amir houieh 0cade7178e Merge pull request #3 from vacp2p/staging
Staging
2022-11-22 11:41:32 +01:00
amir houieh 7b404a199d Update README.md 2022-11-22 11:40:04 +01:00
sanaz b3c7819bb9 adds the landing page 2022-11-21 16:35:37 -08:00
7 changed files with 157 additions and 120 deletions
@@ -1,13 +0,0 @@
name: Vercel webhook
on:
push:
branches: [master]
jobs:
deployment:
runs-on: ubuntu-latest
steps:
- name: Calling webhook
uses: fjogeleit/http-request-action@v1
with:
url: ${{ secrets.VERCEL_WEBHOOK_PRODUCTION }}
method: 'POST'
-13
View File
@@ -1,13 +0,0 @@
name: Vercel webhook
on:
push:
branches: [staging]
jobs:
deployment:
runs-on: ubuntu-latest
steps:
- name: Calling webhook
uses: fjogeleit/http-request-action@v1
with:
url: ${{ secrets.VERCEL_WEBHOOK_STAGING }}
method: 'POST'
Vendored
+86
View File
@@ -0,0 +1,86 @@
pipeline {
agent { label 'linux' }
options {
disableConcurrentBuilds()
/* Necessary for logos-side-builder local_folder source type. */
checkoutToSubdirectory('src')
/* manage how many builds we keep */
buildDiscarder(logRotator(
numToKeepStr: '20',
daysToKeepStr: '30',
))
}
environment {
/* Mode of logos-site-builder for copying site source from already checked out repo.
* TODO: Avoid copying anything at all, make checkout site of into `docs` folder work. */
CONTENT_SOURCE_TYPE = 'local_folder'
CONTENT_SOURCE_URL = '../src'
GIT_COMMITTER_NAME = 'status-im-auto'
GIT_COMMITTER_EMAIL = 'auto@status.im'
PROD_SITE = 'rlnp2p.vac.dev'
DEV_SITE = 'dev-rlnp2p.vac.dev'
DEV_HOST = 'jenkins@node-01.do-ams3.sites.misc.statusim.net'
SCP_OPTS = 'StrictHostKeyChecking=no'
}
stages {
stage('Clone Builder') {
steps {
dir('builder') {
checkout([$class: 'GitSCM',
branches: [[name: 'v0']],
userRemoteConfigs: [[url: 'https://github.com/acid-info/logos-site-builder']]])
}
}
}
stage('Install') {
steps {
dir('builder') {
sh 'yarn install'
}
}
}
stage('Build') {
steps {
dir('builder') {
sh 'yarn build'
sh "echo ${env.PROD_SITE} > out/CNAME"
}
}
}
stage('Publish Prod') {
when { expression { env.GIT_BRANCH ==~ /.*master/ } }
steps {
dir('src') {
sh 'cp -r ../builder/out ./'
sshagent(credentials: ['status-im-auto-ssh']) {
sh "ghp-import -p out"
}
}
}
}
stage('Publish Devel') {
when { expression { env.GIT_BRANCH ==~ /.*develop/ } }
steps {
dir('builder') {
sshagent(credentials: ['jenkins-ssh']) {
sh """
rsync -e 'ssh -o ${SCP_OPTS}' -r --delete out/. \
${env.DEV_HOST}:/var/www/${env.DEV_SITE}/
"""
}
}
}
}
}
post {
cleanup { cleanWs() }
}
}
+9 -7
View File
@@ -2,14 +2,16 @@
Made and deployed with [logos site-builder](https://github.com/acid-info/logos-site-builder).
# Continuous Deloyment
# Continuous Integration
- `staging` branch is deployed to [staging.rlnp2p.vac.dev](https://staging.rlnp2p.vac.dev)
- `master` branch is deployed to [rlnp2p.vac.dev](https://rlnp2p.vac.dev)
Two branches are built by [our Jenkins instance](https://ci.infra.status.im/):
* `master` branch is deployed to https://rlnp2p.vac.dev by [CI](https://ci.infra.status.im/job/website/job/rlnp2p.vac.dev/)
* `develop` branch is deployed to https://dev-rlnp2p.vac.dev by [CI](https://ci.infra.status.im/job/website/job/dev-rlnp2p.vac.dev/)
# Change Process
1. Create a new working branch from `staging`: `git checkout staging; git checkout -b my-changes`;
2. Proceed with changes, push to `origin` and open a Pull Request against `staging`;
3. Once approved, merge pull request, check changes on [staging.vac.dev](https://staging.vac.dev);
4. Once ready to promote to live website, rebase master on staging: `git checkout master; git pull master; git rebase origin/staging; git push`.
1. Create a new working branch from `develop`: `git checkout develop; git checkout -b my-changes`;
2. Proceed with changes, push to `origin` and open a Pull Request against `develop`;
3. Once approved, merge pull request, check changes on [dev-rlnp2p.vac.dev](https://dev-rlnp2p.vac.dev);
4. Once ready to promote to live website, rebase master on develop: `git checkout master; git pull master; git rebase origin/develop; git push`.
+3 -17
View File
@@ -21,16 +21,8 @@
"static_assets_folder": "static-assets",
"external_sources": [],
"navigation":{
"home":"vac.md",
"home":"rlnp2p.md",
"fileOrdersInSidenav": [
"vac.md",
"principles.md",
"research-areas.md",
"projects.md",
"open-problems.md",
"publications.md",
"contribute.md",
"media.md"
],
"folderOrdersInSidenav": [
"research"
@@ -45,22 +37,16 @@
"text": "Forum",
"url": "https://forum.vac.dev/",
"category": "Resources"
},
{
"text": "Waku.org",
"url": "https://waku.org",
"category": "Resources"
}
]
},
"ds_id": "vac",
"seo": {
"title": "Vac Research",
"title": "Vac Research - RLNP2P",
"description": "Vac - Communication, Privacy, Etc.",
"cc": "Vac - Communication, Privacy, Etc",
"image": "vac-site-preview-image.png",
"url": "https://staging.vac.dev",
"url": "https://staging.rlnp2p.vac.dev",
"social_media": [
{
"provider": "twitter",
-70
View File
@@ -1,70 +0,0 @@
```ascii
+--------------------------------------------------------+ +------------------------------------------------------+
| | | |
| | | |
| VAC | | CODEX |
| | | +--------------+ |
| | | | | |
| +----------------+ +------------------+ | | | | |
| | | | | | | | | |
| | | | PROTOCOL | | +-----+--------+ RESEARCH | |
| | PRINCIPLES +-----+----+ DEVELOPMENT | | | | | | |
| | | | | PROCESS | | | | | | +-------------+ |
| | | | | | | | | | | | | |
| +----------------+ | +------------------+ | | | +--------------+ | | |
| | | | | | OPINIATED | |
| | | | | +------> PRODUCTS | |
| | | | | | | | |
| | | | | +--------------+ | | | |
| +-------------v---------------+ | | | | | | | | |
| | <------------+----+ | | | | +-------------+ |
| | | | | | +-----+ |
| | AGNOSTIC SPECIFICATIONS | | | | ENGINEERING | |
| | +------------+----------+--------> | |
| | | | | | | |
| +-------------+---------------+ | | | | |
| | | | +--------------+ |
| | | | |
| | | | |
+---------------------------+----------------------------+ +------------------------------------------------------+
|
|
|
|
v
+----------------------------+
| |
| |
| UNOPINIONATED PROTOCOLS |
| |
| |
+----------------------------+
```
Normal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal textNormal text.
```paragraph
The Pyramid of Sahure (Ancient Egyptian: Ḫꜥỉ-bꜣ Sꜣḥw-Rꜥ, lit.'Rising of the ba of Sahure'; Arabic: هرم ساحورع, romanized: Haram Sahawrae) is a pyramid complex built in the late 26th to 25th century BC for the Egyptian pharaoh Sahure of the Fifth Dynasty.[10][a] It introduced a period of pyramid building by Sahure's successors in Abusir, on a location earlier used by Userkaf for his sun temple. The site was first thoroughly excavated by Ludwig Borchardt between March 1907 and 1908, who wrote the standard work Das Grabdenkmal des Königs Sahu-Re (English: The Funerary Monument of King Sahure) between 1910 and 1913.
The pyramid complex's layout was adopted by succeeding kings of the Fifth and Sixth Dynasties, marking a milestone in pyramid complex construction. Compared to the preceding Fourth Dynasty, the immensity of the constructions was dramatically reduced but, in tandem, the decorative programme proliferated and temples were augmented by enlarged storeroom complexes. The complex is estimated to.
```
```mermaid
sequenceDiagram
Alice->>John: Hello John, how are you?
loop Healthcheck
John->>John: Fight against hypochondria
end
Note right of John: Rational thoughts!
John-->>Alice: Great!
John->>Bob: How about you?
Bob-->>John: Jolly good!
```
![Drag Racing](./static-assets/image-1.jpeg)
```tsx
const sum = (a, b) => {
return a+b;
}
console.log(sum(2+2));
```
+59
View File
@@ -0,0 +1,59 @@
---
title: Main
---
# RLNP2P
**NOTE: This page is a very early work in progress.**
## About RLNP2P
RLNP2P gives p2p protocols and applications economic, anonymous spam protection using RLN.
RLN stands for Rate Limiting Nullifier and uses Zero Knowledge Proofs to enforce a certain message rate, without linking a publisher to a message. When a message rate is exceeded, a user's financial or social stake gets slashed.
In a p2p setting, this means that each node keeps the necessary state required and validates messages before passing them on.
This means that we get a decentralized, sybil-resistant and privacy-preserving communication channel in a p2p network.
## Examples
[Waku RLN Relay](https://rfc.vac.dev/spec/17/) is an example of using RLNP2P applied to Waku in a GossipSub network.
The same technique can trivally be used on top of stock libp2p GossipSub as well.
With some modifications, it can also likely be used in other topologies such as [Dandellion++](https://github.com/vacp2p/research/issues/119) and [Tor/onion routing](https://github.com/vacp2p/research/issues/149).
p2p applications that use use RLN on the social layer, as opposed to on the networking layer, can also likely use RLNP2p. For example, [zkchat](https://github.com/kayleegeorge/zk-chat).
We are also currently working on a variant that combines [RLN+Interrep](https://github.com/vacp2p/research/issues/147), using social stake instead of financial stake. This paves the way for users who do not currently have crypto assets to use RLNP2P.
### Contribute
Check out links below and join the #rln channel in our [Vac Discord](https://discord.gg/PQFdubGt6d)
## Links
### RLN
- [Rate Limiting Nullifier (PSE)](https://rate-limiting-nullifier.github.io/rln-docs/)
- [RLN spec (PSE/Vac)](https://rfc.vac.dev/spec/32/)
- [RLN GH org (PSE)](https://github.com/Rate-Limiting-Nullifier)
- [Zerokit RLN library (Vac)](https://github.com/vacp2p/zerokit/)
### RLN Relay
- [RLN Relay write-up (Vac)](https://vac.dev/rln-relay)
- [RLN Relay spec (Vac)](https://rfc.vac.dev/spec/17/)
- [RLN Relay testnet (Vac)](https://github.com/status-im/nwaku/blob/master/docs/tutorial/rln-chat-cross-client.md)
### Work in progress
- [RLN+Interrep](https://github.com/vacp2p/research/issues/147)
- [Waku v2 anonymity roadmap](https://github.com/vacp2p/research/issues/107)
- [RLNP2P positioning doc](https://github.com/vacp2p/research/issues/146)
### Misc
- [Privacy & Scaling Explorations](https://appliedzkp.org/)
- [Vac Research](https://vac.dev)