欢迎来到Steem的官方存储库,Steem是将彻底改变网络的区块链,并很快成为智能媒体令牌的区块链!
Steem是第一个引入“大脑证明”社会共识算法的区块链。
作为目前存在的最积极发达的区块链项目之一,它已成为企业家追求的肥沃土壤。它也已成为许多以加密货币为中心的项目的家。
Steem的目标是成为DAPP开发的首选区块链,并以智能媒体令牌为核心。使用SMT,每个人都可以利用Steem的力量。
最初,在任何采矿开始之前,Steem是在BitCointalk论坛上宣布的。 (Steem目前不可开采)
开始Steem非常简单。您可以选择使用Docker-images,请手动使用Docker构建,也可以直接从源构建。所有步骤均已记录,尽管支持许多不同的操作系统,但最简单的操作系统是Ubuntu 16.04。
只想快速起床?为了您的方便,我们有预先建造的码头图像。更多详细信息在我们的Quickstart指南中。
我们强烈建议使用我们的预制码头图像之一或使用Docker构建Steem。这两个过程均在“ Quickstart指南”中描述。
但是,如果您仍然想从源头构建,我们还可以为Linux(Ubuntu LTS)和MacOS构建指令。
要运行一个P2P节点(目前需要大约2GB的内存):
docker run
-d -p 2001:2001 -p 8090:8090 --name steemd-default
steemit/steem
docker logs -f steemd-default # follow along
使用所有数据(例如支持内容网站)运行一个节点。需要14GB的记忆和成长:
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
我们提供了一个基本的CLI钱包,用于与steemd接口。钱包是通过命令行帮助自记录的。您通过CLI钱包连接到的节点需要运行account_by_key_api , condenser_api ,并且需要配置为通过webserver-ws-endpoint接受Websocket连接。
有关测试构建目标以及有关如何使用LCOV检查代码测试覆盖的测试构建目标和信息,请参见DOC/DEVS/TESTING.MD。
一次运行steemd一次生成数据目录和配置文件。默认位置是witness_node_data_dir 。杀死steemd 。没有种子节点,它不会做任何事情。如果要将配置修改为您的喜好,我们在Docker Images中使用了两个示例配置。 (共识节点,完整节点)所有选项都将在默认配置文件中存在,并且可能需要从Docker配置更改更多选项(图像中实际使用的某些选项是通过命令行配置的)。
可以在doc/seednodes.txt中找到一些种子节点的列表。
同一文件被烘烤到码头图像中,可以通过在docker run时间的容器环境中设置STEEMD_SEED_NODES将其覆盖,以便将种子节点界定列表(带有端口)。
有很多环境变量可以设置为以不同的方式运行Steemd:
USE_WAY_TOO_MUCH_RAM如果设置为true,则steemd启动“完整节点”USE_FULL_WEB_NODE如果设置为true,将使用一个默认的配置文件,以启用一组API和关联的插件。USE_NGINX_FRONTEND如果设置为true,这将在Steemd的前面启用NGINX反向代理,该代理Websocket请求向Steemd启用。这还将在“/健康”路径上进行自定义健康检查,该检查列出了您的节点当前的区块链时间数秒。如果距离同步不到60秒,它将返回“ 200”。USE_MULTICORE_READONLY如果设置为true,这将使Steemd在多个读取器模式下以利用多个内核(如果可用)。读取请求由仅读取节点处理,并且写请求会自动转发回单个“作者”节点。 Nginx负载将所有请求均衡给读取器节点,每个可用核心4个。该设置仍然被认为是实验性的,并且可能会在某些API调用中遇到麻烦,直到进一步开发完成。HOME - 将其设置为您希望Steemd存储其数据文件的路径(块日志,共享内存,配置文件等)。默认情况下,使用/var/lib/steemd并存在码头容器内部。如果要使用其他安装点(例如Ramdisk或其他驱动器),则可能需要设置此变量以将卷映射到Docker容器中。 Steemd现在支持当前与Amazon的Elastic Beanstalk服务一起使用的PAAS模式(平台作为服务)。可以使用以下环境变量启动它:
USE_PAAS如果设置为true,Steemd将以与AWS EB一起使用的格式启动。容器将在故障时退出,以便可以通过EC自动重新启动。此模式假设USE_WAY_TOO_MUCH_RAM和USE_FULL_WEB_NODE ,也不需要设置它们。S3_BUCKET将其设置为S3存储桶的名称,您将在Amazon S3中存储Steemd共享存储器文件。它们将以文件名blockchain-$VERSION-latest.tar.bz2进行压缩,以BZ2格式进行压缩,其中$ version是发行号,后面是git Short the git Short commit存储在/etc/steemdversion中的docker image中。SYNC_TO_S3如果设置为true,则节点将功能仅生成共享存储器文件并将其上传到指定的S3存储桶中。这使得Steemd的快速部署和自动化成为可能。 对于完整的Web节点,您至少需要110GB的磁盘空间。 Steemd使用当前持有56GB数据的内存映射文件,默认情况下设置为最多80GB。区块链本身的区块日志超过27GB。强烈建议在快速磁盘上运行Steemd,例如SSD,或将共享存储器文件放在Ramdisk中并使用--shared-file-dir=/path命令行选项以指定位置。完整的Web节点需要至少16GB的内存。种子节点(P2P模式)可以使用24 GB状态文件以低至4GB的内存运行。任何具有不错的单一核心性能的CPU就足够了。 Steemd一直在成长。截至2017年8月,这些数字是准确的,但是您可能会发现您需要更多的磁盘空间来运行一个完整的节点。我们还一直在努力优化Steem对磁盘空间的使用。
在Linux上,使用以下虚拟内存配置进行初始同步和后续重播。正常操作不需要。
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
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人都不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权的诉讼中还是其他责任,是由软件,使用或与软件中的使用或其他交易有关的。