웹에 혁명을 일으킬 블록 체인, 곧 스마트 미디어 토큰의 블록 체인 인 Steem의 공식 저장소에 오신 것을 환영합니다!
Steem은 토큰 할당을위한 "뇌의 증거"사회적 합의 알고리즘을 도입 한 첫 번째 블록 체인입니다.
현재 존재하는 가장 활발하게 발달 된 블록 체인 프로젝트 중 하나 인 것은 기업가 적 추구를위한 비옥 한 토양이되었습니다. 또한 많은 cryptocurrency 중심 프로젝트의 집이되었습니다.
Steem은 스마트 미디어 토큰을 사용하여 DAPP 개발에 선호되는 블록 체인이되는 것을 목표로합니다. SMTS를 사용하면 모든 사람이 Steem의 힘을 활용할 수 있습니다.
원래 Steem은 광업을 시작하기 전에 Bitcointalk 포럼에서 발표되었습니다. (Steem은 현재 채굴되지 않습니다)
Steem을 시작하는 것은 상당히 간단합니다. Docker-Images를 사용하도록 선택하거나 Docker를 수동으로 빌드하거나 소스에서 직접 빌드 할 수 있습니다. 모든 단계가 문서화되었으며 많은 다른 OS가 지원되지만 가장 쉬운 단계는 Ubuntu 16.04입니다.
빨리 일어나고 싶습니까? 편의를 위해 미리 구축 된 Docker 이미지가 있습니다. 자세한 내용은 QuickStart 안내서에 있습니다.
사전 구축 된 Docker 이미지 중 하나를 사용하거나 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
모든 데이터와 함께 노드를 실행하려면 (예 : 콘텐츠 웹 사이트 지원을위한) CA. 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
우리는 steemd 와 인터페이스를위한 기본 CLI 지갑을 제공합니다. 지갑은 명령 줄 도움말을 통해 자체 문서화되어 있습니다. CLI 지갑을 condenser_api 연결하는 노드 account_by_key_api webserver-ws-endpoint
테스트 빌드 대상은 Doc/Devs/Testing.md를 참조하여 LCOV를 사용하여 코드 테스트 범위를 확인하는 방법에 대한 정보를 참조하십시오.
데이터 디렉토리 및 구성 파일을 생성하려면 steemd 한 번 실행하십시오. 기본 위치는 witness_node_data_dir 입니다. steemd 죽입니다. 씨앗 노드 없이는 아무것도하지 않습니다. 원하는대로 구성을 수정하려면 Docker 이미지에 사용 된 두 가지 예제 구성이 있습니다. (Consensus Node, Full Node) 모든 옵션이 기본 구성 파일에 존재하며 Docker Configs에서 변경해야 할 옵션이 더 필요할 수 있습니다 (실제로 이미지에 사용 된 옵션 중 일부는 명령 줄을 통해 구성됩니다).
시작하기 위해 일부 종자 노드 목록은 doc/seednodes.txt에서 찾을 수 있습니다.
이 동일한 파일은 Docker 이미지에 구워졌으며 docker run Time의 컨테이너 환경에서 STEEMD_SEED_NODES 설정하여 세드 노드 (포트 포함)의 공백 구분 목록으로 설정하여 무시할 수 있습니다.
SteemD를 다양한 방식으로 실행하도록 설정할 수있는 환경 변수가 상당히 많이 있습니다.
USE_WAY_TOO_MUCH_RAM true로 설정하면 Steemd는 '전체 노드'를 시작합니다.USE_FULL_WEB_NODE true로 설정되면 전체 API 및 관련 플러그인 세트를 사용할 수있는 기본 구성 파일이 사용됩니다.USE_NGINX_FRONTEND true로 설정되면 steemd 앞에서 webSocket가 steemd에 요청하는 nginx 리버스 프록시가 가능합니다. 또한 노드가 현재 블록 체인 시간에서 몇 초 떨어진 곳에 나열된 경로 '/Health'에서 맞춤형 건강 검사를 가능하게합니다. 60 초 미만의 동기화에서 '200'을 반환합니다.USE_MULTICORE_READONLY true로 설정되면 여러 리더 모드에서 steemd가 여러 코어를 활용할 수 있습니다 (사용 가능한 경우). 읽기 요청은 읽기 전용 노드에 의해 처리되며 쓰기 요청은 단일 'Writer'노드로 자동으로 전달됩니다. NGINX로드는 모든 요청을 리더 노드에 균형을 이룹니다. 이 설정은 여전히 실험적인 것으로 간주되며 추가 개발이 완료 될 때까지 일부 API 호출에 문제가있을 수 있습니다.HOME -STEEMD가 데이터 파일 (블록 로그, 공유 메모리, 구성 파일 등)을 저장하려는 경로로 설정하십시오. 기본적으로 /var/lib/steemd 사용되며 Docker 컨테이너 내부에 존재합니다. 다른 마운트 포인트 (Ramdisk 또는 다른 드라이브와 같은)를 사용하려면이 변수를 설정하여 볼륨을 Docker 컨테이너에 매핑 할 수 있습니다. STEEMD는 현재 Amazon의 Elastic Beanstalk 서비스와 함께 작동하는 PAAS 모드 (서비스로서의 플랫폼)를 지원합니다. 다음 환경 변수를 사용하여 시작할 수 있습니다.
USE_PAAS true로 설정되면 steemd는 AWS EB와 함께 작동하는 형식으로 시작됩니다. ECS가 자동으로 다시 시작할 수 있도록 컨테이너는 실패시 종료됩니다. 이 모드는 USE_WAY_TOO_MUCH_RAM 및 USE_FULL_WEB_NODE 가정하면 설정할 필요가 없습니다.S3_BUCKET Amazon S3에서 STEEMD 용 공유 메모리 파일을 저장할 S3 버킷의 이름으로 설정하십시오. 파일 이름 blockchain-$VERSION-latest.tar.bz2 와 함께 BZ2 형식으로 압축되어 저장됩니다. 여기서 $ 버전은 릴리스 번호와 Git Short Commit 해시가 /etc/steemdversion 에서 각 Docker 이미지에 저장된 Git Short Commit 해시가 이어집니다.SYNC_TO_S3 true로 설정되면 노드는 공유 메모리 파일 만 생성하고 지정된 S3 버킷에 업로드하도록 작동합니다. 이로 인해 STEEMD를위한 빠른 배포 및 자동화가 가능합니다. 전체 웹 노드의 경우 최소 110GB의 디스크 공간이 필요합니다. STEEMD는 현재 56GB의 데이터를 보유하고 있으며 기본적으로 최대 80GB를 사용하도록 설정된 메모리 매핑 파일을 사용합니다. 블록 체인 자체의 블록 로그는 27GB 이상입니다. SSD와 같은 빠른 디스크에서 steemd를 실행하거나 공유 메모리 파일을 Ramdisk에 배치하고 --shared-file-dir=/path 명령 줄 옵션을 사용하여 위치를 지정하는 것이 좋습니다. 전체 웹 노드에는 최소 16GB의 메모리가 필요합니다. 종자 노드 (P2P 모드)는 24GB 상태 파일로 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
이 소프트웨어는 상업성, 특정 목적에 대한 적합성 및 비 침해에 대한 보증을 포함하여 명시 적 또는 묵시적 보증없이 "그대로"제공됩니다. 어떠한 경우에도 저자 또는 저작권 보유자는 계약, 불법 행위 또는 기타, 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래에서 발생하는 계약, 불법 행위 또는 기타의 행동에 관계없이 청구, 손해 또는 기타 책임에 대해 책임을지지 않습니다.