Bem -vindo ao repositório oficial de Steem, a blockchain que revolucionará a web e em breve o blockchain para tokens de mídia inteligente!
Steem é o primeiro blockchain que introduziu o algoritmo de consenso social "prova do cérebro" para a alocação de token.
Sendo um dos projetos de blockchain mais desenvolvidos ativamente existentes, tornou -se solo fértil para atividades empresariais. Também se tornou o lar de muitos projetos centrados em criptomoedas.
Steem pretende ser o blockchain preferido para o desenvolvimento do DAPP com tokens de mídia inteligente em sua essência. Com o SMTS, todos podem alavancar o poder do Steem.
Originalmente, o Steem foi anunciado no Fórum Bitcointalk antes do início de qualquer mineração. (Atualmente, Steem não é minerável)
Introdução ao Steem é bastante simples. Você pode optar por usar o Docker-Imagens, construir com o Docker manualmente ou construir diretamente a partir da fonte. Todas as etapas foram documentadas e, embora muitos sistemas operacionais diferentes sejam suportados, a mais fácil é o Ubuntu 16.04.
Só quer subir e funcionar rapidamente? Temos imagens pré-construídas do Docker para sua conveniência. Mais detalhes estão em nosso guia rápido.
Recomendamos fortemente o uso de uma de nossas imagens pré-construídas do Docker ou usando o Docker para construir o Steem. Ambos os processos são descritos no guia do QuickStart.
Mas se você ainda gostaria de construir a partir da fonte, também temos instruções de construção para Linux (Ubuntu LTS) e MacOS.
Para executar um nó P2P (ca. 2 GB de memória é necessário no momento):
docker run
-d -p 2001:2001 -p 8090:8090 --name steemd-default
steemit/steem
docker logs -f steemd-default # follow along
Para executar um nó com todos os dados (por exemplo, para apoiar um site de conteúdo) CA. 14 GB de memória e crescimento é necessário:
docker run
--env USE_WAY_TOO_MUCH_RAM=1 --env USE_FULL_WEB_NODE=1
-d -p 2001:2001 -p 8090:8090 --name steemd-full
steemit/steem
docker logs -f steemd-full
Fornecemos uma carteira básica da CLI para interface com steemd . A carteira é auto-documentada via ajuda da linha de comando. O nó para o qual você se conecta através da carteira da CLI precisa estar executando a account_by_key_api , condenser_api , e precisa ser configurado para aceitar conexões WebSocket via webserver-ws-endpoint .
Consulte Doc/devs/testing.md para obter metas de construção de teste e informações sobre como usar o LCOV para verificar a cobertura do teste de código.
Execute steemd uma vez para gerar um diretório de dados e um arquivo de configuração. O local padrão é witness_node_data_dir . Mate steemd . Não fará nada sem nós de sementes. Se você deseja modificar a configuração do seu gosto, temos duas configurações de exemplo usadas nas imagens do Docker. (Nó de consenso, nó completo) Todas as opções estarão presentes no arquivo de configuração padrão e pode haver mais opções que precisam ser alteradas nas configurações do Docker (algumas das opções realmente usadas nas imagens são configuradas via linha de comando).
Uma lista de alguns nós de sementes para você começar pode ser encontrada em doc/semearnodes.txt.
Esse mesmo arquivo é assado nas imagens do Docker e pode ser substituído definindo STEEMD_SEED_NODES no ambiente do contêiner no docker run Time para uma lista delimitada de WhiteSpace de nós de sementes (com porta).
Existem algumas variáveis ambientais que podem ser definidas para executar o Steemd de maneiras diferentes:
USE_WAY_TOO_MUCH_RAM - Se definido como true, Steemd inicia um 'nó completo'USE_FULL_WEB_NODE - Se definido como true, um arquivo de configuração padrão será usado que permite um conjunto completo de APIs e plugins associados.USE_NGINX_FRONTEND - Se definido como true, isso permitirá um proxy reverso do NGINX na frente do Steemd que proxies as solicitações do WebSocket para Steemd. Isso também permitirá uma verificação de saúde personalizada no caminho '/saúde' que lista quantos segundos de distância do tempo atual do blockchain seu nó é. Ele retornará um '200' se estiver a menos de 60 segundos de ser sincronizado.USE_MULTICORE_READONLY - Se definido como true, isso permitirá que o Steemd no modo de vários leitores aproveite vários núcleos (se disponível). As solicitações de leitura são tratadas pelos nós somente leitura e solicitações de gravação são encaminhadas de volta ao nó 'escritor' único automaticamente. Nginx Carga equilibra todas as solicitações aos nós do leitor, 4 por núcleo disponível. Essa configuração ainda é considerada experimental e pode ter problemas com algumas chamadas de API até que o desenvolvimento seja concluído.HOME - Defina isso no caminho em que você deseja que o Steemd armazene seus arquivos de dados (log de bloqueio, memória compartilhada, arquivo de configuração etc.). Por padrão /var/lib/steemd é usado e existe dentro do contêiner do docker. Se você deseja usar um ponto de montagem diferente (como um ramdisk ou uma unidade diferente), defina essa variável para mapear o volume para o seu contêiner do docker. A Steemd agora suporta um modo PaaS (plataforma como serviço) que atualmente funciona com o serviço de feijão elástico da Amazon. Ele pode ser lançado usando as seguintes variáveis de ambiente:
USE_PAAS - Se definido como true, o Steemd será lançado em um formato que funciona com o AWS EB. Os contêineres sairão da falha para que possam ser relançados automaticamente pela ECS. Este modo pressupõe USE_WAY_TOO_MUCH_RAM e USE_FULL_WEB_NODE , eles também não precisam ser definidos.S3_BUCKET - Defina isso como o nome do balde S3, onde você armazenará arquivos de memória compartilhados para Steemd na Amazon S3. Eles serão armazenados compactados no formato BZ2 com o nome do arquivo blockchain-$VERSION-latest.tar.bz2 , onde a versão $ é o número de lançamento seguido pelo hash de comprometimento curto do git armazenado em cada imagem do docker em /etc/steemdversion .SYNC_TO_S3 - Se definido como true, o nó funcionará para gerar apenas arquivos de memória compartilhados e o carregará no balde S3 especificado. Isso torna possível implantações rápidas e autocaling automaticamente para Steemd. Para um nó completo da Web, você precisa de pelo menos 110 GB de espaço em disco disponível. O Steemd usa um arquivo mapeado de memória que atualmente possui 56 GB de dados e, por padrão, está definido para usar até 80 GB. O log de blocos do próprio blockchain é um pouco mais de 27 GB. É altamente recomendável executar o Steemd em um disco rápido, como um SSD ou colocando os arquivos de memória compartilhada em um Ramdisk e usando a opção --shared-file-dir=/path Command Line para especificar onde. Pelo menos 16 GB de memória são necessários para um nó completo da Web. Os nós de sementes (modo P2P) podem ser executados com apenas 4 GB de memória com um arquivo de estado de 24 GB. Qualquer CPU com desempenho decente de núcleo único deve ser suficiente. Steemd está constantemente crescendo. Em agosto de 2017, esses números eram precisos, mas você pode achar que precisa de mais espaço em disco para executar um nó completo. Também estamos trabalhando constantemente para otimizar o uso do espaço do disco pela Steem.
No Linux, use a seguinte configuração de memória virtual para a sincronização inicial e os replays subsequentes. Não é necessário para a operação normal.
echo 75 | sudo tee /proc/sys/vm/dirty_background_ratio
echo 1000 | sudo tee /proc/sys/vm/dirty_expire_centisecs
echo 80 | sudo tee /proc/sys/vm/dirty_ratio
echo 30000 | sudo tee /proc/sys/vm/dirty_writeback_centisecs
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.