Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
The Fission Command Line Interface (CLI)
The Fission CLI has the following commands:
login
logout
register
reset-password
up
down
watch
whoami
Details on all of these commands can be seen at any time by running fission --help
Before using Fission services, you need to login. login
and register
prompt you for user credentials and store them in ~/.fission.yaml
.
If you ever need to log into a different account, just delete ~/.fission.yaml
and login again.
This is the only command you need to get your content hosted on the decentralized web!
To use up
, make sure that you:
have an IPFS daemon running in the background (through ipfs-desktop, or in another terminal)
are currently in the directory containing the assets you want to deploy
A few things happen when you run fission up
:
the directory is recursively added to IPFS through your local node (the equivalent of running ipfs add -r ./
)
Your local node connects to a remote Fission node (the equivalent of running ipfs swarm connect [peerId]
)
A Pin Request is sent to our server which tells the remote Fission node to get and store the requested content directly from your local node
a request is sent to our server to update the Domain associated with you account to point to the new content using dnslink ℹ
This points [username].demo.runfission.com
at our IPFS gateway (ipfs.runfission.com)
And _dnslink.[username].demo.runfission.com
at your uploaded content
Note: It may take some time for DNS to propagate. So give it a minute or two if it doesn't load immediately.
But from your perspective, it's just success messages, emojis, and a link to your hosted website 🚀
If you're currently developing your website and want continuous updates to the hosted version, use watch
instead of up
.
This command does the same thing as up
but after uploading your content, it continues watching the current directory for changes. Every time you change a file, it adds the new content to IPFS, pins it to the remote Fission node, and updates DNS.
Fission te ajuda a publicar seus arquivos, websites, e apps de forma rápida e prática, diretamente da sua máquina local.
Nós possibilitamos um novo estilo serverless para construção de aplicações e websites. Este suporta sistemas 'local-first' que rodam localmente para você e para seus usuários, o máximo possível. (Eliminando a necessidade de se configurar um ambiente para sua utilização)
Para programadores front-end e designers, nós oferecemos um serviço backend que inclui autenticação, criptografia end-to-end e dados de controle e gerenciamento para usuários.
Utilize os frameworks e bibliotecas front-end que você já conhece para construir novos recursos no front, e conecte-os ao Fission para lançar sua aplicação. Fission inclui ferramentas para publicação e subdomínios gratuitos para fazer o deploy de suas aplicações, e melhorar a experiência de usuário.
Comece a utilizar o Fission, instalando agora as ferramentas no seu ambiente local.
Como criar seu primeiro site rodando na plataforma IPFS usando esse guia para iniciantes
Agora que você terminou a instalação da plataforma fission
, é necessário criar uma conta:
Agora está tudo certo! Suas credenciais de acesso estão dentro de ~/.fission.yaml
Caso você já possua uma conta, faça o login dessa forma:
Por padrão, os endereços da rede são baseados no seu usuário de acesso, se parecendo com - USERNAME.fission.name
. No futuro, será possível adicionar domínios customizados.
Para utilizar o fission
você precisará estar executando o IPFS
Se sua versão do IPFS for ipfs-desktop, garanta que ele esteja em execução.
Se sua versão do ipfs
for via linha de comando, execute o seguinte código em outra aba do terminal:
Vamos criar uma página 'interplanetária' simples!
Crie um novo diretório de projeto e adicione um arquivo index.html
:
Adicione um conteúdo inicial a esse arquivo index.html
:
Tenha certeza de que você está na pasta correta do projeto (hello-universe
), e execute:
Copie a URL que aparece na última linha (🔗) e cole no seu navegador para ver seu novo site, hospedado em uma rede descentralizada. Fácil assim!
Note: Pode levar algum tempo para a replicação do DNS. Então aguarde 1 ou 2 minutos se o site não carregar imediatamente. Se você é do tipo impaciente, copie o content-id
da saída da linha de comando e veja em https://ipfs.runfission.com/ipfs/{YOUR_CONTENT_ID}
Curiosidade sobre o IPFS: Todos que seguirem esse tutorial do começo ao fim, acabarão com a mesma chave de conteúdo (Content ID). Isso significa que você pode puxar instantaneamente esse site da demonstração do seu "vizinho" (se estiver com pressa), caso ele já tenha feito o deploy.
Fission trabalha com qualquer site ou aplicação estática/client side, independentemente se for uma única página html, ou um gerador de sites estáticos como Gatsby ou Jekyll.
Neste tutorial, vamos utilizar o Gatsby para construir e publicar um site estático, mas você pode usar qualquer outro de sua preferência.
Primeiramente, escolha um projeto, e entre no seu diretório cd
. Vamos utilizar reactjs.org para que todos nós fiquemos na mesma página, caso tenha uma outra preferência, fique a vontade para usá-la.
Instale as dependências:
Construa o site:
cd
para dentro do diretório:
Lance-o no IPFS!
Agora copie o link gerado no seu terminal para o browser, e veja seu site hospedado em uma rede descentralizada!
Instalando as ferramentas de linha de comando do FISSION para iniciar as publicações do seu desktop
Nossa plataforma é construída sobre algumas ferramentas de descentralização da internet, como o InterPlanetary File System (IPFS), onde é possíel você publicar diretamente do seu ambiente local de desenvolvimento, isso sem necessitar aprender ou implementar tecnologias DevOps.
Agora, vamos instalar o IPFS e a CLI do Fission para fazer tudo isso funcionar. Seguindo essas instruções abaixo, as instalações serão bem fáceis e rápidas.
ipfs-desktop, se você prefere uma interface gráfica, o ipfs-desktop é uma ótima opção, esta te possibilita rodar o ipfs como serviço, além de facilitar o start/stop da aplicação (daemon).
Você pode fazer o download pelas 'releases' no link acima, ou usar seu gerenciador de pacotes de preferência:
Homebrew (macOS): brew cask install ipfs
Chocolatey (Windows): choco install ipfs-desktop
Snap (Linux): snap install ipfs-desktop
Essa instalação também inclui a linha de comando 'ipfs-daemon'.
Se você não estiver utilizando o ipfs-desktop, instale usando o brew:
Para executar o serviço do ipfs em background:
Faça o download do binário para linux na página de distribuições oficiais do IPFS.
Descompacte o arquivo e execute o script ./install.sh
(Isso moverá o binary para o PATH do bin).
Após a instalação, se feita corretamente, o seguinte comando funciona para todos os sitemas operacionais:
Por padrão, os arquivos ficam armazenados no diretório local em .ipfs
.
O ipfs-desktop pode ser ligado e desligado pela interface gráfica. Para sistemas Linux, execute o daemon em segundo plano:
Se você quiser facilitar o stop/start do daemon, favor visitar a página de Troubleshooting
O Fission pela linha de comando (CLI) é a principal forma de se interagir com os serviços do Fission.
Para usuários do Windows, nós recomandamos usar o 'Windows Subsystem for Linux' (WSL). As instruções escritas abaixo para Linux, também se aplicam para o WSL, exceto as demarcadas em nota.
Nós temos comandos para o brew que facilitam a instalação e execução do Fission:
Vá até a nossa página de releases no Github e baixe a última release para seu sistema operacional.
Nota: Ubuntu 19+ atualmente não é suportado devido a um problema de build #51
Descompacte o arquivo e o movimente para o PATH:
(Apenas Linux) **Linux requires an additional dependency:
Pronto! Faça uma última checagem para ver se está tudo correto:
Instruções para configuração e registro do DNS e domínio customizado para se utilizar no Fission
Toda aplicação no Fission ganha um subdomínio grátis.
Atualmente, esses domínios são do tipo YOURUSERNAME.fission.name
, mas estamos trabalhando em melhorias onde suas aplicações terão o domínio YOURAPPNAME.fission.app
.
Para utilizar um domínio customizado, como YOURAPPNAME.fission.app
, você deve fazer o apontamento dele nos nossos servidores que controlam os nomes e registros.
Nota: Atualmente os domínios customizados precisam de nossa aprovação manual. Futuramente isso será automatizado e integrado no Fission CLI. Enquanto isso, para utilizar um domínio customizado, contate nosso suporte em.
ns1.fission.systems
ns2.fission.systems
ns3.fission.systems
ns4.fission.systems
Vá ao domínio que você deseja hospedar no Fission no seu 'Namecheap admin':
No local onde está escrito "Namecheap BasicDNS", selecione "Custom DNS" no menu suspenso:
Entre em ns1.fission.systems
e ns2.fission.systems
e clique no marcador de 'correto' verde para salvar.
Fission Drive lets you browse public, unencrypted files stored on IPFS.
Fission Drive is currently a Preview release of our upcoming file storage and identity system that lets you take your files anywhere, encrypted end-to-end as well as for public hosting of files, websites, and apps.
The Preview release is an exploration of the interface, and currently supports only public files.
You can browse any IPFS directory, not just those hosted on Fission, by entering in the hash, or Content ID (CID), of a directory.
You can use QmbCLefkFuXbhHBWSW7PWmJzBL7W7e8zm41HK4DGJ1RDwV
as an example folder to browse. Visit drive.fission.codes to try it out.
The hash above represents Boris' public files, which you can also see in the default IPFS browser at boris.fission.name.
Preview supports system wide / browser settings for dark vs. light mode and will switch automatically when you change those settings.
Note: ChromeOS does not currently support dark mode.
Clicking on an image will give you a file preview.
Click on the double arrows in the top right hand corner to embiggen the preview to full screen. Hit the X to close the preview.
The "Open in new tab" link will give you a permanent link for sharing the current file, using the Fission IPFS gateway.
Yes, this works on mobile!
Use arrow keys to navigate, enter to open preview.
Interplanetary Fission IPFS - Fission Web API as an Heroku Add-on
The Fission Web API is available as a Heroku Add-on. . It is currently in a free beta mode with a "test" plan.
As with all Heroku add-ons, you can also create a new add-on locally using the Heroku CLI tool:
If you create the add-on through the Heroku dashboard, you can find your API credentials in the Settings section of your app, under the Config Vars heading:
These can also be used in your local environment by creating an .env
file.
A particularly good use case for using our Fission IPFS add-on is to combine it with setting up your application in a "Deploy to Heroku" mode.
Here are some additional resources to help you understand the wider Fission ecosystem
Use this if you want to make REST calls directly to our API.
Client library for the Fission Web API
Use this if you want to add IPFS support to your app through HTTP
Compatible with JavaScript and TypeScript
See all of our projects, the latest releases, features that we're working on, and known issues.
Stay up to date with what we're working on as well as our thoughts on decentralization, open-source, and more!
Easily integrate your Heroku apps with IPFS using the Fission Web API
Troubleshooting, work arounds, and known issues.
We've had a report with uploading large numbers of files using ipfs-deploy
with Fission support that you may need to increase the number of open files that your operating system supports. This could also occur with fission watch
.
For ubuntu, read .
For Mac OS, has a one liner:
As you'll want to add it to your bash or other shell profile so this change is permanent.
On a Chromebook in the native ChromeOS shell? Yeah, :
We've had some hiccups with our brew formula recently. To re-install / reset brew, run the following:
Now re-run the , copied here for convenience:
This is related to .
You'll see that fission up
calls your locally installed ipfs
command to add files to IPFS. We can see that it's using the 0.4.22 version of ipfs, installed using Homebrew in the "Cellar" where brew keeps installed items.
Then, it sends the hash of the entire directory to our web API, which pins it and fetches the files directly from your laptop and any other IPFS nodes that already have copies of those files in the network.
In this case, we can see that after the "Remote pinning Qm…", there is a 504 Gateway Time-out error from our server. This is a known issue, which we're working on to support large files / large quantities of files.
WSL doesn't have systemd, so this init.d script should work.
An introduction to the Fission Web API with some example requests
The Fission Web API provides an interface to our systems using a standard RESTful API. We'll go through a few interactions that you might find helpful, but for the full API, check out the .
Getting content from IPFS is a simple GET
request to https://runfission.com/ipfs/{cid}
No authentication needed!
For example:
If you want to do this programmatically, use your favorite REST client or the
You can upload content to IPFS by sending a POST
request to https://runfission.com/ipfs
For this, you'll need a BasicAuth header with your Fission username & password, as well as a content-type: application/octet-stream
header
With JSON:
With a file:
Fission also offer's a pinning service, if you already have content on IPFS and want the remote Fission node to help keep it online. To pin something, send a PUT
request to https://runfission.com/ipfs/{cid}
For this, you'll need a BasicAuth header
For example:
The main is a good place to start to read and learn about IPFS. We've included a few explanations about certain ways that we use core IPFS features.
Other resources:
: features a number of interactive web tutorials, as well as the home base for in-person chapters around the world
From the :
DNSLink uses records to map a domain name (like
ipfs.io
) to an IPFS address. Because you can edit your DNS records, you can use them to always point to the latest version of an object in IPFS (remember that an IPFS object’s address changes if you modify the object). Because DNSLink uses DNS records, the names it produces are also usually easy to type and read.
Fission Live automagically updates the DNS TXT record for you whenever you make changes.
You can use either an IPNS or an IPFS address for DNSLink.
If you use IPNS, you are entering the Peer ID of your local node, and your node will have to be online. However, on the positive side, you don't need to update your TXT record, as your Peer ID is consistent. Note that IPNS records are only cached for 24 hours, so you'll have to refresh at least once a day.
If you use an IPFS address, you are entering the hash representing the DAG of a folder. Whenever you make an edit to any of the files in the folder, the DAG hash changes, and you need to update the DNS TXT record each time. Fission Live does this automatically using up
or watch
, and we pin your files so they will always be online.
The Heroku Add-on uses the Web API, appropriate for server side apps written in any language that Heroku supports. You can browse the live docs of the Fission Web API at , or look at our to find a client SDK for your programming language.
This means adding an app.json
file and a few other settings that tell Heroku what add-ons and environment variables your application needs. You can find out more .
We built an , and bundled it together with Deploy to Heroku and the Fission Heroku Add On. You can get started on the hobby tier by clicking the Deploy to Heroku button on Github:
If you want to see what the is doing under the covers, you can turn on DEBUG mode by calling commands like this:
If you want to do this programmatically, use your favorite REST client or the
If you want to do this programmatically, use your favorite REST client or the