Descentra 🐡 é uma uma pltaforma descentralizada com artigos sobre blockchain ⛓️ (maioritariamente ethereum ⛏️), p2p 👭 e DeFi 💸. Talvez outras coisas também 🥞 ...
Este repositório contém o código para o frontend do nosso website.
Lê as instruções de contribuição.
Neste projeto utilizamos OrbitDB e IPFS para gerir as nossas publicações. React como framework UI e Material UI para criar o design.
Para começar a fazer alterações e testar, é necessário preencher o .env
(duplicar .env.example
e renomear para .env
deve ser suficiente) e depois executar a app com yarn start
.
Recomendamos que utilize yarn
para instalar dependências.
Este website requer uma instância de libp2p-webrtc-star. Para executar localmente é apenas necessário executar o libp2p como indicado aqui. Para hospedar num servidor externo, com ssl é necessária alguma configuração extra.
Exemplo de configuração nginx:
upstream websocket {
server 127.0.0.1:9090;
}
server {
listen 80;
listen [::]:80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/(FOLDER-FROM-CERTBOT)/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/(FOLDER-FROM-CERTBOT)/privkey.pem;
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
NOTA: Substituir (FOLDER-FROM-CERTBOT) pelo caminho completo, dado ao gerar os certificados.
Para adicionar um daemon service no servidor linux onde estiver a executar o webrtc-star pode usar a seguinte configuração.
[Unit]
Description=WebRTC service.
[Service]
Type=simple
PIDFile=/run/webrtc.pid
ExecStart=/usr/bin/webrtc-star --port=9090 --host=0.0.0.0
RemainAfterExit=no
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
Exemplos de como fazer isso podem ser encontrados aqui e aqui.
Peixe palaço no website - Icons made by turkkub from www.flaticon.com