diff --git a/docs/ko/README.md b/docs/ko/README.md deleted file mode 100644 index 6de5c78b8..000000000 --- a/docs/ko/README.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -home: true -title: DBC-Wiki Home -heroImage: "/images/logo.jpg" -heroText: DBC-Wiki Home -description: Welcome to DBC-Wiki -actions: - - text: Onchain-Operations - link: /en/staking-model/dbc-chain-params - type: primary - - text: Onchain RPC Introduction - link: /en/onchain-api/dbc-rpc-readme - type: secondary -features: - - title: Learn about DBC - details: DBC Introduction, community governance - - title: DBC Information - details: DBC AMA Collection, media reports - - title: Onchain operation - details: Machine on-chain or verification - - title: Onchain API - details: Use API to interact with the chain - - title: DBC client node - details: DBC client node deployment and upgrade - - title: DBC client node API - details: HTTP request and vm snapshot/image management -footer: MIT Licensed | Copyright © 2017-Present DeepBrainChain ---- diff --git a/docs/ko/dbc-aipublicchain/docker_build.md b/docs/ko/dbc-aipublicchain/docker_build.md deleted file mode 100644 index e3c128fa2..000000000 --- a/docs/ko/dbc-aipublicchain/docker_build.md +++ /dev/null @@ -1,129 +0,0 @@ -# 사용방법 - -## 전제조건 - -install nvidia-container-toolkit, see: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html - -## 서비스 시작 - -```bash -bash ./start-service.sh -``` - -## 서비스 요청 - -### openai-text api - -```bash -bash ./request-service-openai-text.sh -``` - -### ollama-text api - -```bash -bash ./request-service-ollama-text.sh -``` - -### openai-image api - -```bash -bash ./request-service-openai-image.sh -``` - -## 서비스 중지 - -```bash -bash ./stop-service.sh -``` - -## Table: config-name -> model & api-protocol - -| config-name | model | api-protocol | -| ----------------------- | ---------------------- | ------------ | -| llama3-8b | Llama3-8B | openai-text | -| llama3-70b_1 | Llama3-70B | openai-text | -| llama3-70b_4 | Llama3-70B | openai-text | -| qwen1.5-110b_1 | Qwen1.5-110B | openai-text | -| qwen1.5-110b_4 | Qwen1.5-110B | openai-text | -| yi1.5-34b | Yi1.5-34B | openai-text | -| qwen2-72b_1 | Qwen2-72B | openai-text | -| qwen2-72b_4 | Qwen2-72B | openai-text | -| falcon2-11b | Falcon2-11B | openai-text | -| openbiollm-llama3-70b_1 | OpenBioLLM-Llama3-70B | openai-text | -| openbiollm-llama3-70b_4 | OpenBioLLM-Llama3-70B | openai-text | -| minicpm-v2.5 | MiniCPM-Llama3-V2.5 | ollama-text | -| codestral-22b-v0.1 | Codestral-22B-v0.1 | openai-text | -| gemma2-27b_4 | Gemma-2-27B | openai-text | -| llama3.1-405b_8 | Llama-3.1-405B | openai-text | -| mistral-123b_4 | Mistral-123B | openai-text | -| flux.1-dev | FLUX.1-dev | openai-image | -| nemotron-70b_2 | Llama-3.1-Nemotron-70B | openai-text | -| nvlm-70b_4 | NVLM-D-72B | openai-text | - -# Docker 이미지 구축 방법 - -다음은 모델 서비스 이미지를 구축하는 방법에 대한 개요입니다: - -## 1. 전달 요구 사항 명확화 - -이미지를 구축하기 전에, 배포 이미지가 요구 목표에 부합하는지 확인하기 위해 요구 사항을 명확히 해야 합니다. 주요 요소는 다음과 같습니다: - -- **모델 선택**: 배포할 모델 유형을 결정합니다. 예를 들어 텍스트 생성, 이미지 생성, 또는 멀티모달 모델 등을 선택합니다. 구체적인 모델은 Llama3-8B, Qwen1.5-110B, Falcon2-11B 중 선택할 수 있습니다. - -- **배포 자원**: 배포할 하드웨어 자원을 명확히 하고, 특히 GPU 가속이 필요한지 여부와 사용할 GPU 유형(NVIDIA A100, H100, RTX4090 등)과 수량을 결정합니다. - -- **배포 방식**: 로컬 배포인지 클라우드 배포인지, 모델 파일을 이미지에 포함시킬지 등을 결정합니다. - -- **서비스 인터페이스 프로토콜**: 모델 서비스가 표준화된 방식으로 액세스될 수 있도록 적절한 API 프로토콜을 선택합니다. 다양한 모델 서비스 유형에 맞는 프로토콜이 제공됩니다. 예를 들어 텍스트 생성에는 OpenAI 프로토콜, Ollama 프로토콜, HF의 TGI 프로토콜 등이 있습니다. - -- **성능 매개 변수**: 모델의 성능 목표를 명확히 합니다. 예를 들어 처리량, 응답 시간, 확장성 요구 사항 등이 포함됩니다. - -## 2. 요구 사항에 가장 부합하는 오픈 소스 도구/프레임워크 선택 - -모델의 유형과 배포 환경에 따라, 이미지 구축 작업을 간소화하기 위해 적합한 오픈 소스 도구와 프레임워크를 선택합니다. 작업 유형에 따라 일반적인 도구/프레임워크는 다음과 같습니다: - -- **텍스트 생성**: lmdeploy, Ollama, vllm, localai, TGI - -- **이미지 생성**: ComfyUI, Stable Diffusion WebUI, localai - -## 3. 개발 및 디버깅 - -이미지를 구축하기 전에, 모델이 컨테이너에서 정상적으로 작동하는지 확인하기 위해 개발 및 디버깅 과정을 거쳐야 합니다. 주요 단계는 다음과 같습니다: - -- **배포 매개 변수 조정**: 작업 요구 사항 및 모델 매개 변수에 따라, Docker Compose 파일의 실행 매개 변수와 환경 변수를 조정하여 모델이 올바르게 작동하도록 합니다. - -- **모델 적응**: 모델이 컨테이너 환경에서 원활하게 실행될 수 있도록 보장하며, 종속성 설치 및 구성 문제를 처리합니다. 특정 모델은 특정 라이브러리, 드라이버 또는 환경 변수 설정을 필요로 할 수 있습니다. Dockerfile에서 이러한 종속성을 정확하게 정의합니다. 일부 모델은 새로운 모델 구조를 도입할 수 있으며, 이러한 경우 추가적인 코드 수정이 필요할 수 있습니다. - -- **버그 해결**: 이미지 실행 중 발생하는 오류를 디버깅하고, 오픈 소스 프로젝트에 존재할 수 있는 버그를 해결합니다. - -- **코드 최적화**: 모델 테스트 실행 중 발견된 성능 문제를 최적화합니다. 예를 들어 자원 할당, 모델 스케줄링 등 논리를 최적화하여 실행 성능을 개선합니다. - -## 4. 이미지 빌드 - -개발과 디버깅이 완료되면 Docker 이미지를 빌드할 수 있습니다. 구체적인 단계는 다음과 같습니다: - -1. **Dockerfile 작성**: 상황에 따라 Dockerfile 작성 방법은 다음과 같은 방식이 있을 수 있습니다: - - - 오픈 소스 프로젝트 Dockerfile을 기반으로 수정 후 다시 빌드 - - 오픈 소스 이미지를 기본 이미지로 사용하여 수정된 내용을 추가 후 증분 빌드 - - Dockerfile을 처음부터 작성하여 새로운 맞춤형 이미지를 빌드 - -2. **이미지 빌드**: - - ```shell - docker build -t : . - ``` - -3. **이미지 테스트**: GPU 자원을 사용하여 컨테이너를 실행하고 테스트하여 이미지의 모델 서비스가 요청에 정상적으로 응답하는지 확인합니다. - - ```shell - docker run --gpus all -d : - ``` - -4. **이미지 레지스트리에 푸시**: 다중 노드 또는 클라우드 환경에서 배포하려면 Docker Hub, AWS ECR 등 컨테이너 이미지 레지스트리에 이미지를 푸시할 수 있습니다. - - ```shell - docker push : - ``` - - 위의 단계를 통해 모델 서비스를 위한 Docker 이미지 구축을 완료할 수 있으며, 요구 사항을 충족하는 모델이 올바르게 작동하도록 할 수 있습니다. diff --git a/docs/ko/dbc-client-api/assets/create_task.png b/docs/ko/dbc-client-api/assets/create_task.png deleted file mode 100644 index 227ac42b2..000000000 Binary files a/docs/ko/dbc-client-api/assets/create_task.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/delete_task.png b/docs/ko/dbc-client-api/assets/delete_task.png deleted file mode 100644 index 445a00d7c..000000000 Binary files a/docs/ko/dbc-client-api/assets/delete_task.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/import_postman_json.png b/docs/ko/dbc-client-api/assets/import_postman_json.png deleted file mode 100644 index 8332b998d..000000000 Binary files a/docs/ko/dbc-client-api/assets/import_postman_json.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/list_task.png b/docs/ko/dbc-client-api/assets/list_task.png deleted file mode 100644 index 0c9463a56..000000000 Binary files a/docs/ko/dbc-client-api/assets/list_task.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/query_machine_info.png b/docs/ko/dbc-client-api/assets/query_machine_info.png deleted file mode 100644 index ef91ad715..000000000 Binary files a/docs/ko/dbc-client-api/assets/query_machine_info.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/query_session_id.png b/docs/ko/dbc-client-api/assets/query_session_id.png deleted file mode 100644 index 647d6dd83..000000000 Binary files a/docs/ko/dbc-client-api/assets/query_session_id.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/query_task_info.png b/docs/ko/dbc-client-api/assets/query_task_info.png deleted file mode 100644 index 4787c87ec..000000000 Binary files a/docs/ko/dbc-client-api/assets/query_task_info.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/session_id_sign.png b/docs/ko/dbc-client-api/assets/session_id_sign.png deleted file mode 100644 index a8461402f..000000000 Binary files a/docs/ko/dbc-client-api/assets/session_id_sign.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png b/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png deleted file mode 100644 index 0752bfcae..000000000 Binary files a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png b/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png deleted file mode 100644 index 063486d8e..000000000 Binary files a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/session b/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/session deleted file mode 100644 index 8b1378917..000000000 --- a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/session +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png b/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png deleted file mode 100644 index c2836f5dc..000000000 Binary files a/docs/ko/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/start_task.jpg b/docs/ko/dbc-client-api/assets/start_task.jpg deleted file mode 100644 index 1dfe5d9c3..000000000 Binary files a/docs/ko/dbc-client-api/assets/start_task.jpg and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/stop_task.jpg b/docs/ko/dbc-client-api/assets/stop_task.jpg deleted file mode 100644 index 38467ce41..000000000 Binary files a/docs/ko/dbc-client-api/assets/stop_task.jpg and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/wallet_sign copy.png b/docs/ko/dbc-client-api/assets/wallet_sign copy.png deleted file mode 100644 index 2d71f3f4a..000000000 Binary files a/docs/ko/dbc-client-api/assets/wallet_sign copy.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/assets/wallet_sign.png b/docs/ko/dbc-client-api/assets/wallet_sign.png deleted file mode 100644 index 2d71f3f4a..000000000 Binary files a/docs/ko/dbc-client-api/assets/wallet_sign.png and /dev/null differ diff --git a/docs/ko/dbc-client-api/http-api.md b/docs/ko/dbc-client-api/http-api.md deleted file mode 100644 index 8d984da1f..000000000 --- a/docs/ko/dbc-client-api/http-api.md +++ /dev/null @@ -1,912 +0,0 @@ -# HTTP고객측 API요청 - -**다음 HTTP 요청의 dbc_client_ip 및 dbc_client_port는 사용자 자신이 배포한 DBC 고객측 액세스 주소입니다.** - ---- - -## GPU노드 관리 - -### 1.GPU노드 기기 설정 정보 확인 - -요청방식: POST - -URL요청: http://:/api/v1/mining_nodes - -body요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {} -} -``` - -예: - - -
- -### 2. 임대자 session_id 확인 및 획득 - -요청방식: POST - -URL요청: http://:/api/v1/mining_nodes/session_id - -body요청 : - -``` -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": { - }, - //신분 인증 정보,임대자 서명 사용 혹은 다명의계정 서명 사용(HTTP여청 형식 설명 참조 바랍니다),둘중하나 선택 - ... -} -``` - -예 (이부분은 임대자 서명 사용 해도 되고, 다명의계정 서명 사용해도 됩니다 ) : - - -
- -## 가상기기 관리 - -### 1. 가상기기 생성 - -요청방식: POST - -URL요청: http://:/api/v1/tasks/start - -body요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": { - // 镜像名字 - "image_name": "ubuntu.qcow2", - // 描述 - "desc": "...", - // 操作系统类型: linux、windows (默认值:linux) - "operation_system": "linux", - // 引导方式:(默认值:legacy) - // linux系统设置: legacy - // windows系统设置: uefi - // pxe方式: pxe - "bios_mode": "legacy", - // 远程登录linux虚拟机,ssh端口号(linux) - "ssh_port": "5684", - // 远程登录windows虚拟机,rdp端口号(windows) - "rdp_port": "5685", - // vnc连接端口号 - "vnc_port": "5904", - //自定义端口映射 - // [ - // 宿主机的123转发到虚拟机的123 - // "tcp/udp,123", - // 宿主机的111转发到虚拟机的222 - // "tcp/udp,111:222", - // 宿主机的333-444转发到虚拟机的444 - // "tcp/udp,333-444", - // 宿主机的[555-666]转发到虚拟机的[777-888] - // "tcp/udp,555-666:777-888" - // ] - "custom_port": [ - - ], - - // gpu数量(大于等于 0) - "gpu_count": "2", - // cpu数量(大于0) - "cpu_cores": "8", - // 内存大小(大于0,单位:G) - "mem_size": "8", - // 磁盘大小(大于0,单位:G) - "disk_size": "10", - // 已存在的数据盘文件(如:xxx.qcow2) - "data_file_name": "xxx.qcow2", - - // 不同虚拟机之间互相传输的组播地址,范围为224.0.0.0~239.0.0.0 - // 添加多组播地址续在括号中用","相隔,也可不填 - "multicast":["230.0.0.1:5558"] - //内网名称(创建虚拟机网络时填的名称) - "network_name": "test", - }, - "session_id": "임대자가 배포한 session_id", - "session_id_sign": "임대자가 배포한 session_id_sign" -} -``` - -예 : - - -- 생성 프로세스의 시간은 설정 구성에 따라 5분에서 15분까지 진행됩니다. - -- 가상 기기 상세 정보를 요청하여 가상 기기의 로그인 방식과 가상 기기의 현재 상태를 조회할 수 있습니다.(상태값이 "creating"이면, 가상기기가 생성 진행중임을 의마합니다 .) - -### 2.가상기기 상세정보 확인 - -요청 방식: POST - -URL요청: http://:/api/v1/tasks/<확인 할task_id값> - -body요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한 session_id", - "session_id_sign": "임대자 배포한 session_id_sign" -} -``` - -예: - - -### 3.가상기기 목록 확인 - -방식 요청: POST - -URL 요청: http://:/api/v1/tasks - -body 요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한session_id", - "session_id_sign": "임대자 배포한session_id_sign" -} -``` - -예: - - -### 4. 关闭虚拟机(shutdown) - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/shutdown/<要停止的 task_id 值> -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` -> -> 示例: -> - -### 5. 关闭虚拟机(强制断电) - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/poweroff/<要停止的 task_id 值> -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` -> -> 示例: -> - -### 6.가상기기 작동 - -이 인터페이스는 휴면 상태의 가상 머신을 깨우는 데에도 사용됩니다. - -방식 요청: POST - -URL 요청: http://:/api/v1/tasks/start/<작동할 task_id값> - -body 요청 - -```json -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한session_id", - "session_id_sign": "임대자 배포한 session_id_sign" -} -``` - -예: - - -### 7.가상기기 삭제 - -방식 요청: POST - -URL 요청: http://:/api/v1/tasks/delete/<삭제 할task_id값> - -body 요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한session_id", - "session_id_sign": "임대자 배포한 session_id_sign" -} -``` - -예: - - -### 8.가상기기 다시시작 - -방식 요청: POST - -URL 요청: http://:/api/v1/tasks/restart/<다시 시작할task_id값> - -body요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한 session_id", - "session_id_sign": "임대자 배포한 session_id_sign" -} -``` - -::: warning -**경 보:** -다시 시작 요청을 보낸 후 관리프로그램은 최선이라고 생각하는 종료 방법을 선택합니다. 가상 기기에서 요청을 무시할 수 있습니다. 가상기기를 강제로 다시 시작하려면 url에 force_reboot 파라미터를 추가하십시오. 파라미터가 true 또는 1이면 강제로 다시 시작됩니다. false 또는 0이거나 파라미터가 없으면 상기 전통 방식으로 다시 시작합니다 계. 가상 기기 강제로 다시 시작하기 위한 요청 URL은 다음과 같습니다: - -http://:/api/v1/tasks/restart/<다시 시작할 task_id값>?force_reboot=true -::: - -### 9.가상기기 일지 확인 - -방식 요청: POST - -URL 요청: http://:/api/v1/tasks/logs/<확인할task_id값>?flag=tail&line_num=10 - -body 요청: - -```json -{ - "peer_nodes_list": [ - //GPU노드의 node_id - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - "additional": {}, - "session_id": "임대자 배포한session_id", - "session_id_sign": "임대자 배포한session_id_sign" -} -``` - -:::tip -가상기기 일지 확인을위한 url요청은 2개의 파라미터를 가지고 있으며, 플래그는 일지의 방향을 나타내며, 파라미터가 tail일 경우 일지파일의 끝부분부터 확인 시작하며, head일 경우 일지파일의 시작단계 부터 확인합니다 . line_num은일지 라인의 수를 나타내며 파일의 실제 라인 수를 초과하는 경우 파일의 실제 라인 수로 우선 진행합니다. 마지막으로 이 요청은 최대 1024바이트를 반환하고 범위를 벗어난 일지는 잘립니다. -::: - -### 10.가상 머신 구성 수정 - -:::tip -먼저 가상 머신을 종료해야 합니다. -::: - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/modify/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "new_ssh_port": "5586", -> "new_vnc_port": "5986", -> "new_rdp_port": "5786", -> "new_custom_port": [ -> "tcp,123", // host的123转发到guest的123 -> "udp,111:222", // host的111转发到guest的222 -> "tcp,333-444", // host的333-444转发到guest的444 -> "udp,555-666:777-888" // host的[555-666]转发到guest的[777-888] -> ], -> "new_gpu_count": "2", // >= 0 -> "new_cpu_cores": "8", // > 0, 单位G -> "new_mem_size": "8" // > 0, 单位G -> }, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -## 磁盘管理 - -### 1.查询磁盘列表 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/list/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -### 2.数据盘扩容 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/resize/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "disk": "vdb", //盘符 -> "size": 20 //单位: G -> }, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -### 3.添加新的数据盘 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/add/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "size": 20, //单位: G -> "mount_dir": "/data" //挂载目录,默认:/data -> }, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -### 4.删除数据盘 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/delete/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "disk": "vdb" //盘符 -> }, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -
- -## 스냅샷/ 이미지 관리 - -### 1.查询快照列表 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/snapshot/list/ -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -### 2.查询快照详细信息 - -> `请求方式`:POST -> -> `请求URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/snapshot/list// -> -> `请求body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //GPU节点的node_id -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "租用者分发的session_id", -> "session_id_sign": "租用者分发的session_id_sign" -> } -> ``` - -### 3.创建快照 - -:::tip 注意! -创建快照是请确保虚拟机为关闭状态 -::: - -- 请求方式: POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/snapshot/create/ -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "snapshot_name": "snap1", //快照名 - "desc": "...", //描述 - "image_server": "ID_2" //创建的快照上传到此镜像中心 - }, - "session_id": "租用者分发的 session_id", - "session_id_sign": "租用者分发的 session_id_sign" -} -``` - -### 4.删除快照 - -- 请求方式: POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/snapshot/delete// -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": {}, - "session_id": "租用者分发的 session_id", - "session_id_sign": "租用者分发的 session_id_sign" -} -``` - -
- -## Image Manage - -### 1. 查询镜像中心 ID 列表 - -- 请求方式:POST - -- 请求 URl: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/servers` -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [], - "additional": {} -} -``` - -### 2.查询镜像列表 - -- 请求方式:POST - -- 请求 URl: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images` -``` - -- 请求 Body: - -**1. 查询镜像中心的镜像列表** - -```json -{ - "peer_nodes_list": [], - "additional": { - // 【必填】指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -**2. 查询 GPU 节点的镜像列表** - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 【可选】指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -**3. 查询 GPU 节点上某个用户的镜像列表** - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 指定要查询的镜像中心ID - "image_server": "ID_1" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -- 实例: - -![all_images](./assets/snap_mirror_manage.assets/all_images.png) - -### 3.上传镜像 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/upload -``` - -- 请求 Body: - -**1. 将 GPU 节点上的某个镜像上传到镜像中心** - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2", - // 指定要查询的镜像中心ID - "image_server": "ID_1" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -**2. 将客户端节点上的某个镜像上传到镜像中心** - -```json -{ - "peer_nodes_list": [], - "additional": { - "image_filename": "ubuntu.qcow2", - // 指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -- 实例: - -![snap_list](./assets/snap_mirror_manage.assets/snap_list.png) - -### 4.下载镜像 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/download -``` - -- 请求 Body: - -**从镜像中心下载镜像到 GPU 节点** - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 指定要查询的镜像中心ID - "image_server": "ID_1", - "image_filename": "ubuntu.qcow2", - // 本地存储路径 - "local_dir": "/my_local_dir" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -- 实例: - -![snap_list](./assets/snap_mirror_manage.assets/snap_list.png) - -### 5.查询下载进度 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/downloadprogress -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -### 6.查询上传进度 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/uploadprogress -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -### 7.停止下载 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/download_stop -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -### 8.停止上传 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/upload_stop -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -### 9.删除镜像文件 - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/delete -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - //GPU节点的node_id - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -## 虚拟机组网 - -### 1.创建网络(创建的网络只能在同一机房内使用) - -- 请求方式:POST - -- 请求 URl: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/lan/create -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - // GPU节点的node_id - "441f631da912b2186a3ef0452430f139cf01641bf4e2dce07e06103d8d70e533" - ], - "additional": { - // 创建网络的名称(6-10位字母或者数字组合) - "network_name": "testnet", - // 网段/ 掩码位数 - "ip_cidr": "192.168.66.0/24" - }, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` - -### 2.删除网络(DBC 会自动清理长时间没有虚拟机使用的网络) - -- 请求方式:POST - -- 请求 URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/lan/delete/ -``` - -- 请求 Body: - -```json -{ - "peer_nodes_list": [ - // GPU节点的node_id - "441f631da912b2186a3ef0452430f139cf01641bf4e2dce07e06103d8d70e533" - ], - "additional": {}, - "session_id": "租用者分发的session_id", - "session_id_sign": "租用者分发的session_id_sign" -} -``` diff --git a/docs/ko/dbc-client-api/http-request-format.md b/docs/ko/dbc-client-api/http-request-format.md deleted file mode 100644 index d46f95d60..000000000 --- a/docs/ko/dbc-client-api/http-request-format.md +++ /dev/null @@ -1,149 +0,0 @@ -# HTTP요청 형식 설명 - -요청 방식 : POST - -URL형식: http://:/api/v1/구체 요청 경로 - -body요청: - -```json -{ - "peer_nodes_list": [ - // DBC노드의node_id,현재는 1개 입력만 지원합니다 - "460e5 6d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": { - // 요청마다 전송하는 각종 파라미터 - }, - // 신분인증정보 - ... - } -``` - -신분 인증 정보 총 3가지 유형 있습니다 ,요청할 때 이중 한가지 입력하십시오: - -첫번째 유형: 임대자 지갑 서명 - -설명: 임대자 지갑주소 및 이 지갑 비밀번호 알아야합니다 , 즉 , 이방법 사용하는 사람은 임대자 본인입니다 - -- 서명방법: ./sign_tool [지갑주소] [지갑비번] - -출력: - -![import](./assets/wallet_sign.png) - -- 생성된 3개 값을 body요청에 입력하세요, 최종 요청한 body 형식: - -```json -{ - "peer_nodes_list": [ - "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": {}, - "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", - "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -} -``` - -**두번째 유형:여러 지갑 서명** - -설명:여러 서명 계정의 모든 지갑 주소를 알아야합니다, 및 threshold 수의 계정에 대한 지갑 서명 필요합니다 - -3서명 2를 예로 들어 각 문장의 해석: - -```json -"multisig_accounts": { - // 다중 서명 계정의 모든 지갑주소 - "wallets": [ - "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", - "5DhBmvUkj9YWvdDtJWJwaGrFRpzeqW4Ch5oTyTamXG2LMHVQ" - ], - // 다중 서명 지갑 생성 시 임계값(threshold) - "threshold": "2", - // 다중서명 계정에서 2개의지갑 개인키로 서명(서명방법은 첫번째 유형과 동일) - "signs": [ - { - "wallet":"5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "nonce":"5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", - "sign":"2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" - }, - { - "wallet":"5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", - "nonce":"5t1mv263Qpnu5tk5xPDk86oXGUX8yXaYGpAWj2n6gU45HNmsQqLaAU7", - "sign":"c494cc517f3c181fd7206d03175b5c0c29d162e53aa88c557887241d104456272dc313501c8ae4e71dbcbae183942a119713974aff87aa1ef3870aa505be6384" - } - ] -} -``` - -- 최종 body형식 요청: - -```json -{ - "peer_nodes_list": [ - "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": {}, - "multisig_accounts": { - "wallets": [ - "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", - "5DhBmvUkj9YWvdDtJWJwaGrFRpzeqW4Ch5oTyTamXG2LMHVQ" - ], - "threshold": "2", - "signs": [ - { - "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", - "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" - }, - { - "wallet": "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", - "nonce": "5t1mv263Qpnu5tk5xPDk86oXGUX8yXaYGpAWj2n6gU45HNmsQqLaAU7", - "sign": "c494cc517f3c181fd7206d03175b5c0c29d162e53aa88c557887241d104456272dc313501c8ae4e71dbcbae183942a119713974aff87aa1ef3870aa505be6384" - } - ] - } -} -``` - -3번째 유형 : 기기 임대자가 배포한 session_id 및 session_id_sign 사용 합니다 - -설명: session_id 및 session_id_sign는 임대자가 기타 본기기를 사용하고싶은 제3자유저의 신분 증명입다 . 제3자 유저는 본 session_id로 기기 방문 가능합니다 。 - -주의:session_id는 오직 임대자가 기기에 얻기 및 수정으로 요청할수있습니다 (요청방식:상기첫번째 두번째유형 참고) - -- 기기임대자는 기기에 session_id 요청합니다 .(요청 방법: 상기 첫 번째 및 두 번째 유형 참조, 여기는 첫 번째 방법을 예로 설명합니다 ), 반환 값은 session_id입니다: - -```json -{ - "peer_nodes_list": [ - "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": {}, - "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", - "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", - "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -} -``` - -- 기기 임대자는 session_id에 서명합니다 : - -![import](./assets/session_id_sign.png) - -생성된 session_id 및 session_id_sign를 제3자에 배포하면 됩니다 - -- 제3자 유저 , session_id 및 session_id_sign받은 후 ,body형식 요청합니다 : - -```json -{ - "peer_nodes_list": [ - "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": {}, - "session_id": "3QRjS1PsbDReGJKVBBRqxUh9RqXB5jbfHJ8bMgGoJ3C9HHHHm9rCmmh", - "session_id_sign": "ca89d0adb44a03c6f22a9205a06e22f682805f8c8ee25dd182e36ceb581899001196ce94c40e2147247f967256d7e010318e4387853939d94ba99c81f16a358f" -} -``` diff --git a/docs/ko/dbc-client-api/install-tool.md b/docs/ko/dbc-client-api/install-tool.md deleted file mode 100644 index 1cbad5550..000000000 --- a/docs/ko/dbc-client-api/install-tool.md +++ /dev/null @@ -1,7 +0,0 @@ -# 작업 준비 - -- Http요청 도구 설치 및 다운로드: [https://www.postman.com/downloads/](https://www.postman.com/downloads/) - -- 서명도구 다운로드, 추후 사용 됩니다: [http://112.192.16.27:9000/dbc/package/sign_tool](http://112.192.16.27:9000/dbc/package/sign_tool) - -- 서명도구 sign_tool파일에 실행가능 권한 추가: `chmod +x ./sign_tool` diff --git a/docs/ko/dbc-cloud-cybercafe/diskless-netboot-image.md b/docs/ko/dbc-cloud-cybercafe/diskless-netboot-image.md deleted file mode 100644 index 92be5f71e..000000000 --- a/docs/ko/dbc-cloud-cybercafe/diskless-netboot-image.md +++ /dev/null @@ -1,82 +0,0 @@ -# 디스크 없는 네트워크 부트 미러링 - -디스크 없는 네트워크 부팅 서버를 배포한 후 디스크 없는 부팅 이미지를 만들 수 있습니다. - -## Windows 미러링 - -1. 디스크 없는 콘솔에 대한 미러 및 호스트 목록 설정 - -- 1.1 브라우저에서 디스크 없는 콘솔을 열고 `Image` 페이지에서 이미지를 생성합니다. - - 이 페이지에는 3개의 테이블이 있습니다. - - - Operation System: 시스템 디스크. name(디스크 이름), `win10`과 같은; description(디스크 설명), `windows 10 21H1`과 같은; capacity(디스크 용량), 100G과 같은. - - Data Disk: 데이터 디스크 또는 게임 디스크와 같은 비시스템 디스크. name(디스크 이름), `game`과 같은; description(디스크 설명), `game disk`과 같은; capacity(디스크 용량), 200G과 같은. - - Boot Menu: 시스템 디스크와 여러 데이터 디스크의 부팅 항목 조합. name (시작 항목의 이름), `win10test`과 같은; operation system (시작 항목의 시스템 디스크 이름); data disk (시작 항목의 데이터 디스크 이름 모음). - - The collection of `name` column in `Boot Menu` is the collection of options of `default menu` of `Hosts` page. - - 시스템 디스크, 하나 이상의 데이터 디스크를 생성하고 `Image` 페이지에 하나 이상의 부팅 메뉴를 추가하십시오. - -- 1.2 GPU 머신을 추가하고 머신의 IP 주소를 바인딩하고 이미지를 시작하도록 설정합니다. - - Switch to the `Hosts` page and add at least one piece of data, for example, `host name` fills in `test1`, `ip address` fills in `192.168.1.101`, `mac address` fills in the MAC address of a certain GPU machine, `default menu` Select one of the ones created above, `super tube` is checked. - - Click `Add/Modify Row` to add the filled data into the form, select the added row from the list, and click `Reset Host iSCSI` to reset the iSCSI settings. - - Note: Adding, modifying and deleting `host name`, `ip address`, `mac address` needs to restart the DHCP service to take effect. - -2. GPU 머신의 BIOS 설정 - - 일반적으로 시스템의 BIOS 설정에 있는 네트워크 부팅 옵션은 꺼져 있으며 수동으로 켜야 합니다. 여기서 ASUS 마더보드를 예로 들어 BIOS에서 네트워크 부팅 설정을 켜고 레거시 부팅을 설정하고 UEFI를 사용하지 마십시오. 다른 유형의 마더보드에 대해서는 해당 공급업체의 제품 설명서를 참조하십시오. - -- 2.1. Boot -> CSM should be enabled, and `boot from network devices` should be set to legacy. -- 2.2. In Advanced -> Onboard devices configuration, Realtek LAN controller and Realtek LAN OPROM should be enabled. -- 2.3. In Advanced -> Network Stack configuration, Network Stack and ipv4 PXE support must be enabled, and the ipv6 switch does not matter. -- 2.4. `Boot option priorities` set the priority of boot items. When installing the system on the local hard disk, set the local hard disk as the first one, and set the network boot (network card device) as the first one after the diskless image is ready. - -3. GPU 머신의 로컬 디스크에 시스템 설치 - - Windows 10 시스템 사용을 권장하며, Microsoft 공식 이미지 파일을 미리 준비해 두시기 바랍니다. - -- 3.1. 먼저 Windows 10 시스템과 필요한 네트워크 카드, 그래픽 카드 및 기타 하드웨어 드라이버를 로컬 하드 디스크에 설치합니다. 테스트 중에 중복 소프트웨어를 설치하지 마십시오. 디스크 없이 부팅할 수 있는 한 나중에 언제든지 다른 소프트웨어를 계속 설치할 수 있습니다. 현재 MBR 파티션 형식만 지원하고 GUID 파티션(UEFI 부팅에 해당)을 지원하지 않습니다. -- 3.2. 레지스트리 `HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management`의 `PagingFiles` 필드 값을 지웁니다. -- 3.3. Windows 검색 상자에 iSCSI 이니시에이터를 입력하고 iSCSI 이니시에이터를 시작하여 처음 시작할 때 적절한 서비스를 시작하도록 경고하고 동의를 클릭한 다음 iSCSI 이니시에이터의 구성 페이지에서 iSCSI 이니시에이터 이름을 `:sn.`로 수정합니다. 예를 들어 `iqn.2022-10.org.dbc.iscsi:sn.win10test`. -- 3.4. 시스템을 다시 시작한 후 로컬 하드 디스크의 시스템을 디스크가 없는 네트워크 부팅 서버에 복제합니다. - -4. 로컬 하드 디스크에 설치된 시스템을 디스크 없는 네트워크 부팅 서버에 복제 - -- 4.1. Start the `iSCSI Initiator`, enter the IP address of the iSCSI server on the target page, you can see the `Boot Menu` created in the first step, click Connect, and you can see the system disk and data disk of this startup item in the disk manager. -- 4.2. Download and run [DiskGenius](https://www.diskgenius.cn/), open `Clone Disk` in the menu bar `Tools`, and follow the steps to clone the system in the local disk to the system disk mapped by iSCSI. - -5. GPU 시스템을 다시 시작하여 네트워크에서 디스크가 없는 시스템을 부팅합니다. - -- 5.1. BIOS에서 `Boot option priorities`의 첫 번째 항목을 네트워크 카드로 설정하고 저장하고 다시 시작합니다. -- 5.2. 자동으로 다시 시작하고 iPXE 부팅 인터페이스에 들어가 `menu iPXE boot menu build 20220717` 메뉴를 로드 및 표시하고 자동 카운트다운이 끝난 후 복제된 디스크 없는 시스템으로 들어갑니다. - -모든 것이 정상이면 디스크 없는 시스템에 진입하여 로그인할 수 있습니다. 이때 사용은 로컬 디스크와 동일하며 필요한 소프트웨어 설치 및 원격 제어를 계속할 수 있습니다. 블루 스크린이 발생하거나 중간 단계에 대한 질문이 있는 경우 DBC 기술 지원에 문의하십시오. - -## Ubuntu 18.04 미러링 - -Ubuntu 18.04 시스템의 미러 이미지를 만듭니다. 처음 두 단계는 Windows 시스템과 비슷합니다. 우분투 시스템 디스크와 `Boot Menu`를 만들고 BIOS를 설정해야 합니다. 차이점은 시스템을 설치하고 복제할 필요가 없다는 것입니다. Ubuntu 시스템이 iSCSI 디스크에 대한 직접 네트워크 설치를 지원하기 때문입니다. - -1. ubuntu netboot - -- ubuntu 18.04 official netboot: http://www.archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz -- Tsinghua source download address: https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/netboot.tar.gz - - Ubuntu 20.04 or Aliyun source is similar. - - HTTP 서비스 디렉토리 `/var/www/file`에 `netboot.tar.gz`를 다운로드하고 압축을 풉니다. - -2. 우분투 무인 구성 파일 수정 - - Open the `ubuntu/preseed.cfg` file in the HTTP service directory, and modify the locale, language, country, timezone, mirror, partman-iscsi and all IP addresses according to actual needs. - -3. 네트워크에서 GPU 머신을 부팅한 후 우분투의 네트워크 설치 인터페이스에 수동으로 들어갑니다. - - 머신을 시작하고 `menu iPXE boot menu build 20220717` 메뉴에 들어갈 때 5초 카운트다운 내에 `Installing Ubuntu to iSCSI target`를 수동으로 선택한 다음 Enter 키를 눌러 네트워크 설치 인터페이스로 들어갑니다. - - 설치 인터페이스에서 일부 자동 로드 옵션을 수동으로 입력해야 할 수도 있습니다. 디스크에 설치할 때 올바른 iSCSI 디스크를 선택하고 끝까지 실행하십시오. - -4. 설치가 완료되면 다시 시작하고 자동으로 설치된 Ubuntu 시스템으로 들어갑니다. diff --git a/docs/ko/dbc-cloud-cybercafe/diskless-netboot-server.md b/docs/ko/dbc-cloud-cybercafe/diskless-netboot-server.md deleted file mode 100644 index d08285c72..000000000 --- a/docs/ko/dbc-cloud-cybercafe/diskless-netboot-server.md +++ /dev/null @@ -1,447 +0,0 @@ -# 디스크가 없는 네트워크 부트 서버 - -DBC-CloudCyberCafe 프로젝트는 iPXE를 사용하여 부팅하고, 디스크 없는 서비스에 iSCSI를 사용하고, 스토리지 관리에 lvm2를 사용하고, API 인터페이스에 thrift를 사용하고, 콘솔 인터페이스를 제공하기 위해 plotly를 사용합니다. 이들은 함께 고객에게 디스크 없는 네트워크 부팅 서비스를 제공하므로 디스크 없는 네트워크 부팅 서버를 배포하는 것은 이러한 모듈을 별도로 배포하는 것입니다. 서버 시스템은 Ubuntu 20.04를 사용합니다. - -## iPXE - -PXE는 인텔이 네트워크 카드에서 부팅하도록 제안했습니다. DHCP를 통해 IP를 얻고 TFTP를 통해 시작 파일을 얻습니다. iPXE는 PXE의 향상된 확장 버전으로 HTTP와 같은 여러 획득 방법을 지원하므로 DHCP, TFTP 및 HTTP 서비스를 배포해야 합니다. - -### DHCP - -동적 호스트 구성 프로토콜 DHCP는 RFC 1541(RFC 2131로 대체됨)에서 정의한 표준 프로토콜로, 서버에서 IP 주소 및 구성 정보를 클라이언트에 동적으로 할당할 수 있습니다. -그리고 PXE 서비스는 DHCP 프로토콜의 bootfile 필드를 사용하여 시스템에 PXE 시작 파일을 알려야 합니다. PC방 등에서 이미 DHCP 서비스(라우터에서 제공하는 DHCP 주소 할당)가 있는 경우 dnsmasq를 DHCP 프록시로 사용하는 것이 좋습니다. DHCP 서비스가 없는 경우 isc-dhcp-server를 직접 사용하여 자체 서브넷을 구성하는 것이 좋습니다. DBC-CloudCyberCafe 프로젝트는 기본적으로 dnsmasq 서비스를 사용합니다. 많은 고객 환경에 이미 라우터가 있고 부트 파일과 같은 필드를 제공하기 위해 DHCP 프로토콜 에이전트 역할을 하는 데 dnsmasq만 필요하기 때문입니다. 현재 dnsmasq를 설치하고 dnsmasq.service를 성공적으로 시작하기만 하면 됩니다. 특정 구성은 DBC-CloudCyberCafe 프로젝트의 콘솔 프로그램에 의해 자동으로 생성됩니다. - -``` -# install dnsmasq -sudo apt install dnsmasq -# view dnsmasq service status -systemctl status dnsmasq.service -``` - -:::tip 注意! -우분투 시스템의 기본 systemd-resolved는 DNS 확인을 위해 포트 53을 수신합니다. dnsmasq.service 서비스 시작이 실패할 수 있습니다. 많은 솔루션이 있습니다. 참조: `systemd-resolve --interface=eno1 --set-dns=223.5.5.5` 명령을 사용하십시오. 네트워크 카드 eno1의 DNS 주소를 223.5.5.5로 수동 설정한 다음 systemd-resolved.service를 다시 시작하십시오. 서비스를 시작한 다음 dnsmasq.service 서비스를 시작하여 성공하십시오. -::: - -또한 isc-dhcp-server를 설치해야 하는 경우 다음 단계를 참조하십시오. - -``` -# install isc-dhcp-server -sudo apt install isc-dhcp-server -# view isc-dhcp-server service status -systemctl status isc-dhcp-server.service -``` - -:::tip 注意! -isc-dhcp-server 서비스를 사용하려면 /etc/default/isc-dhcp-server 파일에서 특정 네트워크 카드를 설정하고 DHCP 서비스를 활성화할 네트워크 카드를 지정해야 합니다. -::: - -### TFTP - -``` -# install TFTP -sudo apt install tftpd-hpa -# view tftpd-hpa service status -systemctl status tftpd-hpa.service -``` - -tftpd-hpa는 기본적으로 /srv/tftp 폴더를 스토리지 디렉토리로 사용합니다. 이 디렉토리에 undionly.kpxe 및 ipxe.efi를 넣어야 합니다. 이 두 파일은 ipxe 공식 홈페이지에서 제공하는 파일을 사용하시면 됩니다. 사용자 지정 스크립트를 사용하여 직접 파일을 컴파일하는 것이 좋으며 iPXE를 컴파일하는 방법은 나중에 소개합니다. - -iPXE 공식 웹사이트에서 제공하는 시작 파일의 다운로드 주소는 다음과 같습니다: - -- undionly.kpxe: https://boot.ipxe.org/undionly.kpxe -- ipxe.efi: https://boot.ipxe.org/ipxe.efi - -### HTTP - -iPXE는 보다 안정적이고 신뢰할 수 있는 HTTP 프로토콜을 사용하여 필요한 파일을 다운로드할 수 있습니다. apache 또는 nginx를 사용하여 HTTP 서버를 구축할 수 있습니다. 아래 예를 들어 nginx를 사용하십시오. - -``` -# install nginx,refer to http://nginx.org/en/linux_packages.html#Ubuntu -sudo apt install nginx -``` - -/etc/nginx/nginx.conf 파일의 http 블록에 다음 서버 블록을 추가합니다: - -``` - server { - listen 8080; - root /var/www/file; - location / { - autoindex on;# 디렉토리 표시 - autoindex_exact_size on;# 파일 크기 표시 - autoindex_localtime on;# 파일 시간 표시 - } - } -``` - -마지막으로 nginx를 다시 시작하여 /var/www/file 디렉토리를 파일 서버로 빌드하고 8080 포트 URL을 사용하여 브라우저에서 액세스합니다. - -/var/www/file 디렉토리 구조는 다음과 같습니다. - -``` -dbtu@dbtu:/var/www/file$ tree -. -├── ipxe -│   ├── boot.ipxe -│   ├── boot.ipxe.cfg -│   ├── cfg -│ │ ├── 404.html -│   │   ├── mac-0050562ca04b.ipxe.cfg -│   │   ├── mac-40b0767ee231.ipxe.cfg -│   │   └── mac-88aedd0508fa.ipxe.cfg -│   └── wimboot -├── netboot -│   ├── ldlinux.c32 -> ubuntu-installer/amd64/boot-screens/ldlinux.c32 -│   ├── netboot.tar.gz -│   ├── pxelinux.0 -> ubuntu-installer/amd64/pxelinux.0 -│   ├── pxelinux.cfg -> ubuntu-installer/amd64/pxelinux.cfg -│   ├── ubuntu-installer -│   │   └── amd64 -│   │   ├── boot-screens -│   │   │   ├── adtxt.cfg -│   │   │   ├── exithelp.cfg -│   │   │   ├── f10.txt -│   │   │   ├── f1.txt -│   │   │   ├── f2.txt -│   │   │   ├── f3.txt -│   │   │   ├── f4.txt -│   │   │   ├── f5.txt -│   │   │   ├── f6.txt -│   │   │   ├── f7.txt -│   │   │   ├── f8.txt -│   │   │   ├── f9.txt -│   │   │   ├── ldlinux.c32 -│   │   │   ├── libcom32.c32 -│   │   │   ├── libutil.c32 -│   │   │   ├── menu.cfg -│   │   │   ├── prompt.cfg -│   │   │   ├── rqtxt.cfg -│   │   │   ├── splash.png -│   │   │   ├── stdmenu.cfg -│   │   │   ├── syslinux.cfg -│   │   │   ├── txt.cfg -│   │   │   └── vesamenu.c32 -│   │   ├── initrd.gz -│   │   ├── linux -│   │   ├── pxelinux.0 -│   │   └── pxelinux.cfg -│   │   └── default -> ../boot-screens/syslinux.cfg -│   └── version.info -├── ubuntu -│   └── preseed.cfg -└── winpe - ├── amd64 - │   ├── fwfiles - │   │   ├── efisys.bin - │   │   └── etfsboot.com - │   ├── media - │   │   ├── bg-bg - │   │   │   └── bootmgr.efi.mui - │   │   ├── Boot - │   │   │   ├── BCD - │   │   │   ├── bg-bg - │   │   │   │   └── bootmgr.exe.mui - │   │   │   ├── bootfix.bin - │   │   │   ├── boot.sdi - │   │   │   ├── en-us - │   │   │   │   ├── bootmgr.exe.mui - │   │   │   │   └── memtest.exe.mui - │   │   │   ├── Fonts - │   │   │   │   ├── chs_boot.ttf - │   │   │   │   ├── cht_boot.ttf - │   │   │   │   ├── jpn_boot.ttf - │   │   │   │   ├── kor_boot.ttf - │   │   │   │   ├── malgun_boot.ttf - │   │   │   │   ├── malgunn_boot.ttf - │   │   │   │   ├── meiryo_boot.ttf - │   │   │   │   ├── meiryon_boot.ttf - │   │   │   │   ├── msjh_boot.ttf - │   │   │   │   ├── msjhn_boot.ttf - │   │   │   │   ├── msyh_boot.ttf - │   │   │   │   ├── msyhn_boot.ttf - │   │   │   │   ├── segmono_boot.ttf - │   │   │   │   ├── segoen_slboot.ttf - │   │   │   │   ├── segoe_slboot.ttf - │   │   │   │   └── wgl4_boot.ttf - │   │   │   ├── memtest.exe - │   │   │   ├── Resources - │   │   │   │   └── bootres.dll - │   │   │   ├── zh-cn - │   │   │   │   ├── bootmgr.exe.mui - │   │   │   │   └── memtest.exe.mui - │   │   │   └── zh-tw - │   │   │   ├── bootmgr.exe.mui - │   │   │   └── memtest.exe.mui - │   │   ├── bootmgr - │   │   ├── bootmgr.efi - │   │   ├── EFI - │   │   │   ├── Boot - │   │   │   │   ├── bootx64.efi - │   │   │   │   └── en-us - │   │   │   │   └── bootx64.efi.mui - │   │   │   └── Microsoft - │   │   │   └── Boot - │   │   │   ├── BCD - │   │   │   ├── en-us - │   │   │   │   └── memtest.efi.mui - │   │   │   ├── Fonts - │   │   │   │   ├── chs_boot.ttf - │   │   │   │   ├── cht_boot.ttf - │   │   │   │   ├── jpn_boot.ttf - │   │   │   │   ├── kor_boot.ttf - │   │   │   │   ├── malgun_boot.ttf - │   │   │   │   ├── meiryo_boot.ttf - │   │   │   │   ├── msjh_boot.ttf - │   │   │   │   ├── msyh_boot.ttf - │   │   │   │   ├── segmono_boot.ttf - │   │   │   │   ├── segoe_slboot.ttf - │   │   │   │   └── wgl4_boot.ttf - │   │   │   ├── memtest.efi - │   │   │   ├── Resources - │   │   │   │   └── bootres.dll - │   │   │   ├── zh-cn - │   │   │   │   └── memtest.efi.mui - │   │   │   └── zh-tw - │   │   │   └── memtest.efi.mui - │   │   ├── en-us - │   │   │   └── bootmgr.efi.mui - │   │   ├── sources - │   │   │   └── boot.wim - │   └── mount - ├── lightningWinPE - │   ├── boot - │   │   ├── bcd - │   │   └── boot.sdi - │   ├── bootmgr - │   ├── bootmgr.efi - │   ├── efi - │   │   ├── boot - │   │   │   └── bootx64.efi - │   │   └── microsoft - │   │   └── boot - │   │   └── bcd - │   └── sources - │   └── BOOT.WIM - ├── wepe - │   ├── EFI - │   │   ├── BOOT - │   │   │   └── bootx64.efi - │   │   └── MICROSOFT - │   │   └── BOOT - │   │   ├── BCD - │   │   └── FONTS - │   │   └── wgl4_boot.ttf - │   ├── WEIPE - │   └── WEPE - │   ├── B64 - │   ├── FONTS - │   │   └── wgl4_boot.ttf - │   ├── MESSAGE - │   ├── PELOAD - │   ├── WEIPE - │   ├── WEPE64 - │   ├── WEPE64.WIM - │   ├── WEPE.INI - │   ├── WEPE.SDI - │   └── WEPE.TXT - └── WePE64_V2.2.iso -``` - -- iPXE 시작 스크립트는 ipxe 폴더에 저장됩니다. 여기서 mac-000c29c63944.ipxe.cfg는 콜론 없이 모두 소문자 형식의 MAC 주소 이름을 따릅니다. 부팅된 각 머신에는 콘솔 프로그램에 의해 자동으로 구성되는 해당 구성 파일이 있어야 합니다. -- wimboot 파일은 https://github.com/ipxe/wimboot/releases에서 다운로드됩니다. -- 윈도 시스템 설치에 사용되는 PE 파일은 winpe에 저장되는데 당분간은 필요하지 않으며 개발 및 테스트용으로 사용된다. -- netboot는 네트워크에 Ubuntu를 설치하기 위해 사용하는 파일로 Alibaba Cloud 또는 Tsinghua University에서 다운로드할 수 있으며 [파일 다운로드 주소](http://www.archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz)를 참조하십시오 고객이 Ubuntu 시스템 이미지가 필요한 경우 이 파일을 다운로드해야 합니다. -- ubuntu/preseed.cfg는 우분투의 네트워크 설치에서 사용하는 무인 구성 파일입니다. - -ipxe/boot.ipxe 파일의 내용은 다음과 같습니다. - -``` -#!ipxe -chain --autofree boot.ipxe.cfg -chain --replace cfg/mac-${mac:hexraw}.ipxe.cfg -``` - -ipxe/boot.ipxe.cfg 파일의 내용은 다음과 같습니다. - -``` -#!ipxe -set iscsi-server 192.168.1.159 -set base-url http://192.168.1.159:8080 -set menu-timeout 5000 -``` - -그 중 iscsi-server의 IP 주소는 디스크가 없는 netboot 서버의 IP 주소이고 base-url은 HTTP 서비스의 url입니다. 실제 상황에 따라 이러한 내용을 설정하십시오. - -### iPXE file configuration - -iPXE를 컴파일하는 과정은 https://ipxe.org/download를 참조할 수 있습니다. - -``` -git clone https://github.com/ipxe/ipxe.git -cd ipxe/src -``` - -ipxe/src 폴더에 script.ipxe를 생성합니다. 파일 내용은 다음과 같습니다. - -``` -#!ipxe -dhcp -chain --autofree http://192.168.1.2:8080/ipxe/boot.ipxe -``` - -여기서 192.168.1.2는 디스크 없는 netboot 서버의 IP 주소이고 포트 8080은 nginx에서 구성한 HTTP 서비스의 포트입니다. 실제 구성에 따라 입력하십시오. - -그런 다음 script.ipxe를 사용하여 iPXE 부팅 파일을 컴파일하고 HTTP 서비스에서 제공하는 boot.ipxe 구성을 PXE 부팅이 시작된 후 자동으로 로드할 수 있습니다. 다음 명령을 사용하여 컴파일합니다. - -``` -make bin-x86_64-pcbios/undionly.kpxe EMBED=script.ipxe -make bin-x86_64-efi/ipxe.efi EMBED=script.ipxe -``` - -컴파일된 undionly.kpxe 및 ipxe.efi 파일을 TFTP 서비스 디렉터리에 복사합니다. - -``` -sudo cp bin-x86_64-pcbios/undionly.kpxe /srv/tftp/ -sudo cp bin-x86_64-efi/ipxe.efi /srv/tftp/ -``` - -## iSCSI - -iSCSI (Internet Small Computer System Interface, pronounced /ˈаɪskʌzi/), IP-SAN이라고도 하는 Internet Small Computer System Interface는 IETF에서 제안하고 2003년에 발표한 SCSI-3 프로토콜과 인터넷 기반의 스토리지 기술입니다. 2010년 2월 11일에 공식 표준이 되었습니다. - -iSCSI는 TCP/IP 포트 860 및 3260을 통신 채널로 사용합니다. iSCSI 프로토콜을 사용하여 두 대의 컴퓨터 간에 SCSI 명령을 교환함으로써 컴퓨터는 고속 LAN 허브를 통해 SAN을 로컬 저장 장치로 에뮬레이트할 수 있습니다. - -기본적으로 iSCSI를 사용하면 두 호스트가 IP 네트워크를 통해 서로 협상한 다음 SCSI 명령을 교환할 수 있습니다. 이러한 방식으로 iSCSI는 SAN(Storage Area Network)을 생성하는 광역 네트워크로 일반적인 고성능 로컬 스토리지 버스를 에뮬레이션합니다. 일부 SAN 프로토콜과 달리 iSCSI에는 전용 케이블 연결이 필요하지 않습니다. 기존 스위칭 및 IP 인프라에서 실행할 수 있습니다. - -네트워크 부팅을 지원하는 NIC(네트워크 인터페이스 장치)가 있는 컴퓨터의 경우 iSCSI 부팅을 지원하도록 추가 DHCP 서버를 구성할 수 있습니다. 이 경우 NIC는 PXE 또는 BOOTP 부팅 이미지를 제공하는 DHCP 서버를 찾습니다. DHCP 서버는 부팅 네트워크 카드의 MAC 주소에 따라 해당 iSCSI 부팅 대상 장치/볼륨 정보를 제공하고 컴퓨터는 iSCSI에서 원격 부팅 프로세스를 시작할 수 있습니다. - -iSCSI는 서버와 클라이언트로 나눌 수 있습니다. 저장 장치를 공유하려면 서버에 scsi 대상을 설치해야 하며 대상에 연결하려면 클라이언트에 iscsi 초기자를 설치해야 합니다. 대상이 공유하는 디바이스는 로컬 이니시에이터에 마운트해야 하며 분할 및 포맷할 수 있습니다. - -### iSCSI 클라이언트 - -iSCSI 초기자는 I/O 작업을 시작하는 것입니다. 탐색 프로세스를 통해 원격 블록 장치를 요청해야 합니다. 대상과 지속적인 연결을 설정할 수 있습니다. Linux 시스템에서는 open-iscsi 소프트웨어 패키지를 사용하여 구현을 시뮬레이션할 수 있으며 Windows 10 이상 시스템에서는 내장된 iSCSI 초기자를 사용하여 달성할 수 있습니다. - -### iSCSI 서버측 - -iSCSI 대상은 I/O 작업의 실행자입니다. 이니시에이터(이니시에이터)를 위해 하나 이상의 블록 장치를 내보내야 합니다. Linux 시스템에서는 두 개의 대상 도구, 즉 tgt와 targetcli를 사용할 수 있습니다. 여기서는 먼저 TGT 방법을 소개합니다. TGT는 Fujita Tomonori가 2006년 말 Linux 커널에 SCSI 대상 프레임워크(STGT/TGT)를 도입한 것입니다. 커널이 대상 드라이버를 제어하도록 도울 수 있는 커널의 라이브러리. TGT는 사용자 모드에서 구현된 iscsi 대상이며 모든 대상 처리는 사용자 공간에서 수행됩니다. 2010년 말에 LIO(Linux-IO) 프로젝트가 선택되어 커널 상태에서 구현된 iscsi 대상으로 TGT를 대체했습니다. LIO가 TGT를 대체하도록 선택되었을 때 TGT 사용자 빈 모듈이 계속 실행될 수 있도록 구현이 조정되었으므로 TGT 커뮤니티는 커널에 LIO 포함을 지원합니다. Linux 커널 2.6.38 이전에는 TGT였습니다. - -### Linux-IO - -Linux 커널(linux 2.6.38 이후)에서 Linux-IO Target은 소프트웨어를 사용하여 다양한 SCSI Target을 구현합니다. Fibre Channel(Qlogic, linux3.5), FCoE(linux3.0), iSCSI(linux 3.1), iSER(Mellanox InfiniBand, linux3.10), SRP(Mellanox InfiniBand, linux3)를 포함하여 SAN 기술에서 널리 사용되는 모든 스토리지 프로토콜을 지원합니다. .3), USB 등. 동시에 이 머신에 대해 시뮬레이션된 SCSI 디바이스를 생성하고 Virtio의 SCSI 디바이스를 기반으로 가상 머신을 제공할 수도 있습니다. Linux-IO Target은 사용자가 값비싼 전문 장비를 구입하지 않고도 상대적으로 저렴한 Linux 시스템을 사용하여 SCSI 및 SAN의 다양한 기능을 구현할 수 있도록 합니다. - -Linux-IO Target은 커널 상태에서 Target의 시뮬레이션을 실현하고 보다 "현대적인" sysfs 기반 구성 관리 방법을 채택하여 친숙한 사용자 모드 관리 도구를 제공합니다. 커널 버전 2.6.38부터 Linux 커널에는 Linux-IO Target의 관련 모듈이 포함됩니다. 사용자 모드에서 targetcli 및 rtslib는 모든 주요 릴리스에 패키징됩니다. targetcli 프로그램은 구성 및 관리에 사용되며 rtslib는 Python 프로그래밍 인터페이스를 제공합니다. - -다음 명령을 사용하여 iSCSI 서버 측을 설치합니다. - -``` -sudo apt install targetcli-fb open-iscsi -``` - -## lvm2 - -LVM(Logical Volume Manager)은 논리적 볼륨 관리를 의미합니다. Linux 환경에서 디스크 파티션을 관리하기 위한 메커니즘입니다. LVM은 디스크 파티션 관리의 유연성을 향상시키기 위해 하드 디스크 및 파티션에 구축된 논리적 계층입니다. - -- PV(physical volume): 일반적으로 파티션, 전체 물리적 하드 디스크 또는 RAID 장치입니다. -- VG(volume group): 물리 볼륨 위에 생성된 여러 물리 볼륨 모음입니다. 볼륨 그룹이 생성되면 물리적 볼륨을 볼륨 그룹에 동적으로 추가할 수 있습니다. 논리 볼륨 시스템 프로젝트에는 하나의 볼륨 그룹만 있거나 여러 볼륨 그룹이 있을 수 있습니다. -- LV(logical volume): 볼륨 그룹 위에 생성된 논리적 볼륨은 크기를 동적으로 확장하거나 축소할 수도 있습니다. 볼륨 그룹의 할당되지 않은 볼륨 그룹 공간을 사용하여 새 논리 볼륨을 생성할 수 있습니다. 여러 논리 볼륨은 동일한 볼륨 그룹이나 다른 볼륨 그룹에 속할 수 있습니다. - -lvm2를 설치하는 명령은 다음과 같습니다. - -``` -sudo apt install lvm2 -``` - -여기서는 `pvcreate` 명령을 사용하여 안전하고 빠른 RAID 장치를 물리 볼륨으로 초기화하고 `vgcreate` 명령을 사용하여 물리 볼륨에 볼륨 그룹을 생성한 다음 볼륨 그룹 이름을 입력하는 것이 좋습니다. 디스크 없는 콘솔 설정. 데스크톱 프로그램은 자동으로 볼륨 그룹에 논리 볼륨을 만들고, 논리 볼륨에 디스크 없는 미러를 만들고, 미러 파일을 iSCSI의 백엔드 스토리지로 사용하고, 마지막으로 iSCSI 백엔드를 iPXE 부팅 프로그램과 연결하여 네트워크 디스크로 연결하면 디스크에서 시스템을 시작하고 로컬 디스크처럼 디스크에 데이터를 저장할 수 있습니다. - -## thrift - -DBC-CloudCyberCafe 프로젝트는 thrift rpc 프레임워크를 사용하여 타사 프로그램(주로 dbc 프로그램)을 용이하게 하는 API 인터페이스를 제공하여 시스템이 Windows 또는 Ubuntu 시스템에 들어가도록 설정하고 시스템 로그인 암호를 수정하며 디스크가 없는 클라이언트를 닫습니다. 따라서 디스크가 없는 네트워크 부트 서버는 필요한 절약 도구를 설치해야 합니다. - -``` -sudo apt install thrift-compiler python3-pip -sudo pip3 install thrift -``` - -## diskless console - -DBC-CloudCyberCafe 프로젝트는 고객 관리자가 머신을 추가하고, MAC 주소와 IP 주소를 바인딩하고, 머신 시작 항목을 수정할 수 있도록 디스크 없는 콘솔을 구현하기 위해 plotly를 사용합니다. - -lvm2 및 iSCSI의 작업에는 디스크 없는 네트워크 부트 서버의 루트 사용자 권한이 필요하기 때문에 디스크 없는 콘솔은 루트 사용자 암호가 입력될 때까지 대기할 수 있으며 이로 인해 많은 후속 작업이 실패할 수 있습니다. 서버는 `/etc/sudoers`에 `dbc ALL=(ALL) NOPASSWD:ALL` 내용을 추가하여 sudo 명령을 실행할 때 암호를 입력할 필요가 없습니다. `/etc/sudoers` 파일의 내용은 다음과 같습니다. - -``` -# -# This file MUST be edited with the 'visudo' command as root. -# -# Please consider adding local content in /etc/sudoers.d/ instead of -# directly modifying this file. -# -# See the man page for details on how to write a sudoers file. -# -Defaults env_reset -Defaults mail_badpass -Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" - -# Host alias specification - -# User alias specification - -# Cmnd alias specification - -# User privilege specification -root ALL=(ALL:ALL) ALL - -# Members of the admin group may gain root privileges -%admin ALL=(ALL) ALL - -# Allow members of group sudo to execute any command -%sudo ALL=(ALL:ALL) ALL -dbc ALL=(ALL) NOPASSWD:ALL - -# See sudoers(5) for more information on "#include" directives: - -#includedir /etc/sudoers.d -``` - -소스 코드에서 디스크 없는 콘솔을 배포하는 명령은 다음과 같습니다. - -```shell -# Download the DBC-CloudCyberCafe project code -git clone https://github.com/DeepBrainChain/DBC-CloudCyberCafe.git -cd DBC-CloudCyberCafe/preset/ -thrift --gen py preset.thrift -cd ../plotly/ -sudo python3 home.py -``` - -프로젝트 코드의 `DBC-CloudCyberCafe/plotly/` 디렉토리에서 `sudo python3 home.py` 명령을 실행하는 한 디스크 없는 서비스의 콘솔 프로그램을 시작한 다음 `http://localhost를 입력할 수 있습니다. :8050/` 브라우저에서 콘솔에 액세스합니다. `localhost`를 디스크가 없는 네트워크 부팅 서버의 IP 주소로 바꾸는 것을 잊지 마십시오. - -브라우저에서 디스크 없는 콘솔을 연 후 `설정` 페이지에서 일부 설정을 입력해야 합니다. - -패키지 실행 프로그램을 사용하여 디스크 없는 콘솔을 배포할 수도 있습니다 https://github.com/DeepBrainChain/DBC-CloudCyberCafe/releases. - -- Storage - - Volume Group: 위의 lvm2 단계에서 생성한 볼륨 그룹을 입력합니다. -- DHCP - - network name: 네트워크 또는 서브넷 이름, 기본값 `dbc`. - - interface: 네트워크 카드 장치 이름, `eno1`과 같이 LAN에 연결된 네트워크 카드. - - subnet: 네트워크 세그먼트, IP 주소 세그먼트(예: `192.168.1.0`). - - subnet mask: `255.255.255.0`과 같은 서브넷 마스크입니다. - - range: 시작 IP 주소 및 종료 IP 주소 범위(예: `192.168.1.100`-`192.168.1.200`). - - routers: 게이트웨이 IP 주소(예: `192.168.1.1`). - - dns servers: `114.114.114.114` 및 Alibaba Cloud 공용 DNS `223.5.5.5`와 같은 DNS 서버 주소입니다. - - broadcast address: 브로드캐스트 주소(예: `192.168.1.255`). - - filename: iPXE가 시작된 후 로드된 스크립트 파일의 주소(예: `http://192.168.1.2:8080/ipxe/boot.ipxe`). - - next server: 위에서 배포한 TFTP 서버의 IP 주소(예: `192.168.1.2`). -- HTTP - - root path: 위에 배포된 HTTP 파일 서비스의 저장소 디렉터리인 콘솔 프로그램은 ipxe/cfg 폴더 아래에 있는 시스템의 MAC 주소에 해당하는 구성을 생성합니다. - - http ip:port: `http://192.168.1.2:8080`과 같이 위에서 배포한 HTTP 서비스의 IP 주소 및 포트입니다. -- iSCSI - - iscsi server: 위에 배포된 iSCSI 서버의 IP 주소입니다. 예를 들어 `192.168.1.2`. - - initiator iqn: 공개 iSCSI 초기자 이름(예: `iqn.2022-10.org.dbc.iscsi:global.client`). - - target prefix: 공용 iSCSI 대상 이름 접두사(예: `iqn.2022-10.org.dbc.iscsi`). - -:::tip 注意! - -1. 이론적으로 TFTP, HTTP 및 iSCSI와 같은 서비스는 서로 다른 서버에 배포될 수 있으므로 설정은 많은 서버 주소를 구분합니다. 하나의 서버를 사용하고 lvm2에 보안 RAID를 사용하는 것이 좋습니다. -2. DHCP의 파일 이름은 iPXE 시작 후 로드되는 스크립트입니다. undionly.kpxe 및 ipxe.efi가 사용자 지정 스크립트로 컴파일된 경우 이 항목을 무시할 수 있습니다. - ::: diff --git a/docs/ko/dbc-democracy/apply-treasury.md b/docs/ko/dbc-democracy/apply-treasury.md deleted file mode 100644 index 51ff4f9e9..000000000 --- a/docs/ko/dbc-democracy/apply-treasury.md +++ /dev/null @@ -1,67 +0,0 @@ -# DBC Treasury 자금 신청 프로세스 - -신청자가 제안서를 통해 재무부에 자금을 신청하는 경우, 제안서 요청 금액의 5%를 유보금으로 적립해야 합니다. 재무부 제안이 승인되면 예약금은 환불되며, 재무부 제안이 거부되면 예약금은 삭감됩니다. 제안서를 제출한 후에는 제안을 철회할 수 없으므로 주의하시기 바랍니다. - -## 1.초안 준비 - -제안서 템플릿 참고하여 초안 준비 - -제안서 템플릿 참고 문서 링크 - -영문 :https://shimo.im/docs/R6P99TpPWW8wC3yP - -중문: https://shimo.im/docs/lfwA369loYQhDprN/ - -[**[출처\]** ](https://shimo.im/docs/lfwA369loYQhDprN/)[DBC Treasury 자금 신청 프로세스](https://blog.naver.com/dbc_korea/222642257067)|**작성자** [DBC KOREA](https://blog.naver.com/dbc_korea) - -## 2.제안 오프체인 토론 - -제안서 제출 전 , 제안자는 위쳇 ,텔레그램,커뮤니티 등 체인 외부 어떤 경우에서든 이사회 및 커뮤니티 구성원과 제안을 논의하여 의견 통합 후 제안서를 지속적으로 개선할수 있습니다 . - -현재 DBC는 reddit에 subreddit 커뮤니티 DBC_Council을 설립했으며(https://www.reddit.com/r/DBC_Council/), 커뮤니티는 제안 토론 섹션[proposal_draft 토론]도 만들었습니다. 제안자는 커뮤니티에 초안을 제출하고 토론을 위해 flair [proposal_draft 토론]을 추가할 수 있습니다. - -![](./assets/apply-treasury.assets/1.png) - -## 3.온체인 제출 - -DBC메인넷-governance-treasury페이지 ([https://www.dbcwallet.io/#/treasury](https://www.reddit.com/r/DBC_Council/))에서 온체인 제출합니다, 그리고 DBC의 일부(최소 신청금액의 5% 이상) 을 보증금으로 합니다 . - -::: warning - -**주의!** 제안 통과되면 보증금 반환; 제안 거절되면 보증금 반환되지 안습니다 - -::: - -따라서 제안서 작성에 주의를 기울여 보다 완전하고 실현가능한 제안서를 제출하시기 바랍니다 . - -![](./assets/apply-treasury.assets/2.png) - -온체인 제출 동시에 제안자는 제안내용을 필수로 subreddit 커뮤니티 DBC_Council에 제출합니다 - -(https://www.reddit.com/r/DBC_Council/),flair[proposal_submitted onchain]추가합니다. - -온체인 제출후 온체인 제안번호와 블록높이 받습니다, 제안번호를 제안서에 추가해주세요 , 온체인 - 오프체인 대응 편리 위합니다 . - -![](./assets/apply-treasury.assets/4.png) - -## 4. 이사회 동의 및 투표 - -신청자가 신청서를 작성하면 [https://www.dbcwallet.io/#/treasury](https://www.dbcwallet.io/#/treasury)에서 신청서를 볼 수 있습니다. - -이 때 **평의회는 해당 신청에 대한 제안을 수락하거나 거부하는 동의안을 제출할 수 있습니다. ** 신청 제안 수락 동의는 협의회 3/5의 동의가 필요하며, 신청 제안 거부 동의는 협의회 1/2의 동의가 필요합니다. - -참고하세요! 협의회에서 동의안을 제출하려면 재무부 [https://www.dbcwallet.io/#/treasury](https://www.dbcwallet.io/#/treasury)에서 동의안을 제출해야 하며, 투표를 위해서는 [https://www.dbcwallet.io/#/ council/motions](https://www.dbcwallet.io/#/council/motions)에서 동의안을 제출해야 합니다. - -## 5.투표 완성 - -투표가 종료된 후 **평의회는 동의안을 수동으로 종료**([https://www.dbcwallet.io/#/council/motions](https://www.dbcwallet.io/#/council/motions))해야 합니다. - -투표 결과 나온 후 DBC subreddit의 커뮤니티 관리자는 승인된 제안을 flair[proposal_approved]로 분류하고 , 승인되지 않은 제안은 flair[proposal_rejected]로 분류합니다 . - -## 6.자금 발행 - -자금은 분할 지급되며, 신청 성공한 제안자는 지속적으로 자체 성과를 업데이트 해야합니다. 제안서에 단계별 필요한 자금을 기입해주세요 . 제안 완성 상황은 커뮤니티 구성원 (비 이사회 구성원) 이 감독하고 투표합니다 . - -**특별주의: 자금 수령 주소는 거래소 주소가 될수 없으며, 개인키를 컨트롤할수있는 주소여야 하며, 가능한 DBC메인넷 주소가 제일 좋습니다, 그렇지 않으면 통과 후 발행된 자금을 받을 수 없습니다 .** - -참고: 승인된 자금 요청의 공개는 지출 주기가 끝날 때 공개됩니다. 지출 주기는 [https://www.dbcwallet.io/#/treasury](https://www.dbcwallet.io/#/treasury)에서 확인할 수 있습니다(오른쪽 상단 모서리에 지출 주기 카운트다운이 표시됨). diff --git a/docs/ko/dbc-democracy/assets/apply-treasury.assets/1.png b/docs/ko/dbc-democracy/assets/apply-treasury.assets/1.png deleted file mode 100644 index 3fffd4421..000000000 Binary files a/docs/ko/dbc-democracy/assets/apply-treasury.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/apply-treasury.assets/2.png b/docs/ko/dbc-democracy/assets/apply-treasury.assets/2.png deleted file mode 100644 index f11830fda..000000000 Binary files a/docs/ko/dbc-democracy/assets/apply-treasury.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/apply-treasury.assets/4.png b/docs/ko/dbc-democracy/assets/apply-treasury.assets/4.png deleted file mode 100644 index 1c8d65317..000000000 Binary files a/docs/ko/dbc-democracy/assets/apply-treasury.assets/4.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/council-outreach-proposal.assets/2.png b/docs/ko/dbc-democracy/assets/council-outreach-proposal.assets/2.png deleted file mode 100644 index 365b4cb12..000000000 Binary files a/docs/ko/dbc-democracy/assets/council-outreach-proposal.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/dbc-nft.assets/1.png b/docs/ko/dbc-democracy/assets/dbc-nft.assets/1.png deleted file mode 100644 index cf3538446..000000000 Binary files a/docs/ko/dbc-democracy/assets/dbc-nft.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/dbc-nft.assets/2.png b/docs/ko/dbc-democracy/assets/dbc-nft.assets/2.png deleted file mode 100644 index 700d72041..000000000 Binary files a/docs/ko/dbc-democracy/assets/dbc-nft.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/dbc-nft.assets/3.png b/docs/ko/dbc-democracy/assets/dbc-nft.assets/3.png deleted file mode 100644 index c093429d7..000000000 Binary files a/docs/ko/dbc-democracy/assets/dbc-nft.assets/3.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/1.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/1.jpg deleted file mode 100644 index dcbddffdf..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/1.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/1.png b/docs/ko/dbc-democracy/assets/join-council.assets/1.png deleted file mode 100644 index 6883ac112..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/2.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/2.jpg deleted file mode 100644 index cc03b8f8c..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/2.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/2.png b/docs/ko/dbc-democracy/assets/join-council.assets/2.png deleted file mode 100644 index 62893ec35..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/3.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/3.jpg deleted file mode 100644 index 310d47404..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/3.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/3.png b/docs/ko/dbc-democracy/assets/join-council.assets/3.png deleted file mode 100644 index 2cb3cd037..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/3.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/4.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/4.jpg deleted file mode 100644 index 310d47404..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/4.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/4.png b/docs/ko/dbc-democracy/assets/join-council.assets/4.png deleted file mode 100644 index 0d1e7da42..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/4.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/5.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/5.jpg deleted file mode 100644 index 9c708799d..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/5.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/5.png b/docs/ko/dbc-democracy/assets/join-council.assets/5.png deleted file mode 100644 index c75cd4a4c..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/5.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/6.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/6.jpg deleted file mode 100644 index 728709436..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/6.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/join-council.assets/7.jpg b/docs/ko/dbc-democracy/assets/join-council.assets/7.jpg deleted file mode 100644 index ae070a364..000000000 Binary files a/docs/ko/dbc-democracy/assets/join-council.assets/7.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/1.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/1.png deleted file mode 100644 index 839cb7149..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/2.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/2.png deleted file mode 100644 index 054516a34..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/3.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/3.png deleted file mode 100644 index 6372cdd22..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/3.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/4.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/4.png deleted file mode 100644 index 0f7e30b17..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/4.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/5.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/5.png deleted file mode 100644 index 0e592c8f7..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/5.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/6.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/6.png deleted file mode 100644 index 22e6344cc..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/6.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/7.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/7.png deleted file mode 100644 index 497d92a82..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/7.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/8.png b/docs/ko/dbc-democracy/assets/proposing-referenda.assets/8.png deleted file mode 100644 index e04256d4c..000000000 Binary files a/docs/ko/dbc-democracy/assets/proposing-referenda.assets/8.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/1.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/1.jpg deleted file mode 100644 index 883f9a6d1..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/1.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/10.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/10.jpg deleted file mode 100644 index 3094be29d..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/10.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/11.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/11.jpg deleted file mode 100644 index f4790bee6..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/11.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/12.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/12.jpg deleted file mode 100644 index eb905c676..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/12.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/13.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/13.jpg deleted file mode 100644 index 08b03d1f7..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/13.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/14.2.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/14.2.jpg deleted file mode 100644 index 1eadf202a..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/14.2.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/14.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/14.jpg deleted file mode 100644 index 373f8b03b..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/14.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/15.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/15.jpg deleted file mode 100644 index d50fe4cbb..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/15.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/16.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/16.jpg deleted file mode 100644 index 401bc768d..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/16.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/17.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/17.jpg deleted file mode 100644 index 4eb23df7d..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/17.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/18.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/18.jpg deleted file mode 100644 index fde41d80d..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/18.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/19.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/19.jpg deleted file mode 100644 index bb57be12b..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/19.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/2.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/2.jpg deleted file mode 100644 index 92b5c7958..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/2.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/20.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/20.jpg deleted file mode 100644 index 188baf491..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/20.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/21.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/21.jpg deleted file mode 100644 index 60e4e4f91..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/21.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/22.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/22.jpg deleted file mode 100644 index ff91eb3f3..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/22.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/3.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/3.jpg deleted file mode 100644 index 3ca26e3bb..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/3.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/4.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/4.jpg deleted file mode 100644 index 4329fcc0f..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/4.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/5.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/5.jpg deleted file mode 100644 index 94d4edde3..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/5.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/6.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/6.jpg deleted file mode 100644 index 738691334..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/6.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/7.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/7.jpg deleted file mode 100644 index 9856aee6b..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/7.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/8.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/8.jpg deleted file mode 100644 index 69b3bbbd4..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/8.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/staking_voting.assets/9.jpg b/docs/ko/dbc-democracy/assets/staking_voting.assets/9.jpg deleted file mode 100644 index 997419922..000000000 Binary files a/docs/ko/dbc-democracy/assets/staking_voting.assets/9.jpg and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/1.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/1.png deleted file mode 100644 index 2d798f815..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/2.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/2.png deleted file mode 100644 index e86b5f266..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/2.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/3.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/3.png deleted file mode 100644 index d71ec9879..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/3.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/4.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/4.png deleted file mode 100644 index 5808bbe89..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/4.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/5.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/5.png deleted file mode 100644 index 7da347fbb..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/5.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/assets/voting-referenda.assets/6.png b/docs/ko/dbc-democracy/assets/voting-referenda.assets/6.png deleted file mode 100644 index eef694652..000000000 Binary files a/docs/ko/dbc-democracy/assets/voting-referenda.assets/6.png and /dev/null differ diff --git a/docs/ko/dbc-democracy/council-meeting-procedures.md b/docs/ko/dbc-democracy/council-meeting-procedures.md deleted file mode 100644 index f1e086c9e..000000000 --- a/docs/ko/dbc-democracy/council-meeting-procedures.md +++ /dev/null @@ -1,73 +0,0 @@ -# DBC Council Meeting Procedures (Trial Version) - -In order to better promote community governance and improve the efficiency, we establish this DBC Council meeting procedure as follows: - -- Initiator of the council meeting: the prime voter of the council in the current period serves as the initiator, or council members can select one of them to serve as the initiator, responsible for supervising the meeting to be held as planned, including coordinating the specific time of the meeting, count the number of attendees, etc. If the initiator cannot initiate the meeting for some reason, the secretary of the council can temporarily act as the initiator temporarily. - -- Secretary of the Council: The secretary of the council is concurrently held by the Chinese and English community administrators, responsible for collecting proposal and topics for each meeting - -- The source of the topic: All community members can submit, and priority is given to discussing topics with high community attention - -- Frequency of meetings: once every two weeks - -- Length of meeting: a maximum of 2 hours for a single meeting (if there are sudden and serious problems, it can be appropriately extended) - -- Eligibility: Council members (community members can attend as auditors, but they will be asked to not interupt until the council open it up for questions or feedback.) - -- The threshold for holding the meeting: more than 1/2 of the council members participating in the meeting - -- The threshold for passing the topic: more than 2/3 of the participating council members vote in favor, (for different topics, the threshold can be further refined) - -- Minutes of the meeting: organized by the secretary of the board of directors, including the number of participants in the meeting, the topics of the meeting, the voting status of the topics, etc. - -- Minutes of the meeting are released: the minutes of each council meeting are released by the Foundation on official twitter/telegram/korean blog and other channels - -## 2022/04/12 update - -### [Before the meeting] - -- The sponsor of the meeting needs to coordinate the meeting time one week in advance and count the number of participants by email. This work is recommended to be completed within 2-3 days. According to the "Council Meeting Procedure", more than 1/2 of the board members participating in the meeting are required to meet the threshold for the meeting to be held. Participation is subject to email confirmation. - -- The topics that need to be discussed at the council meeting can be divided into decision-making on important issues (generally involving referendum proposals), Treasury proposal, and NFT proposals. The secretary of the council is responsible for the collection and sorting of these topics. At least one day in advance, the topics will be compiled into a document and published to the council group, reminding the councilor to read. - -#### (1 Decisions on important issues and referendum proposals) - -After the meeting is confirmed, councilors can report the issues to be discussed to the secretary of the council. The following information should be included in the report: - -Subject: a sentence stating the issue to be discussed - -Proposer: One, the main proposer of this issue - -Secondaries: other councilors who seconded this issue - -Introduction: Please explain the main content of the issue in concise and clear language. - -Details (if any: Details of the proposal and others related to the issue. It is recommended to organize it into an online document, and a link is attached here for the convenience of reading.) - -#### (2 Treasury proposals) - -The following information is collated by the Secretary of the Council: - -On-Chain Number: the number of the proposal in the DBC mainnet-Treasury section - -Council motion number: - -Proposal content: reddit link - -#### (3 NFT application proposal) - -Reference (2 Treasury proposal) - -The sponsor of the meeting or the secretary of the council should remind everyone to attend the meeting in the council group at least one day in advance. - -### [during meeting] - -The discussion of topics in the meeting should be carried out in sequence according to the list compiled by council secretary. Except in very urgent situations, it is generally not allowed to temporarily add topics. - -Considering that each meeting has only 2 hours, it is necessary to give more councilors the opportunity to speak. In principle, a single meeting should not have more than 4 topics, each member should not speak more than 5 minutes on a single topic, and should not speak more than 10 minutes in a single meeting. - -### [after meeting] - -Each topic discussed by the council must have conclusion: passed/rejected/to be determined/on hold/to be optimized, etc., and publicized to the community. As for the discussion on the treasury and NFT proposal, the secretary of the council needs to feedback the views of the council to the proposer (such as commenting on the reddit post). - -Please make every effort to attend global council meetings and change your Discord account name to the on-chain name on DBC mainnet. The attendance list for each meeting will be released to the community, and the attendance frequency will be released to the community as vote-influencing data for the next election! diff --git a/docs/ko/dbc-democracy/council-outreach-proposal.md b/docs/ko/dbc-democracy/council-outreach-proposal.md deleted file mode 100644 index ea806f42e..000000000 --- a/docs/ko/dbc-democracy/council-outreach-proposal.md +++ /dev/null @@ -1,17 +0,0 @@ -# Council's Proposal to Mobilize Community Members for Global Outreach - -With the explosion of ChatGPT, the field of AI continues to be hot, and DBC has also received more and more attention. We believe that DBC should take advantage of this momentum to carry out multi-channel publicity, and it is easier to achieve twice the result with half the effort. The specific methods of publicity can include KOL cooperation, online community activities, technical salons, offline meetups, etc. - -The essence of blockchain projects is openness, open source, community autonomy, co-construction, sharing, and co-governance. DBC has been committed to establishing a complete on-chain governance and community governance mechanism, attracting a large number of outstanding talents who agree with the DBC vision to join the DBC community and contribute to the ecological development of the community. At present, DBC has realized the DAO through the council system - the council is elected by community members and participates in project governance on behalf of their interests. Among them, the management of treasury funds is one of the main ways of governance of the council. According to the planning of the council system, the DBC fund pool is used for infrastructure deployment and continued operation, network security operations (monitoring services, continuous auditing), ecosystem provisions (collaborations with friendly chains), marketing activities (advertising, paid features, collaborations), community events and outreach (meetups, pizza parties, hackerspaces), software development (wallets and wallet integration, clients and client upgrades) and more. - -In order to mobilize the enthusiasm of the community and give full play to the power of the council and the community, we hope to establish a marketing mechanism led by the DBC council and the community, further optimize community governance and the efficiency of the use of treasury funds, and enhance the influence of DBC on a global scale. In the initial stage of the establishment of the mechanism, KOL cooperation will be used as a pilot operation, and it will be extended to other marketing methods after the mechanism matures. - -KOL cooperation in the English-speaking region is currently a relatively mature and effective way of overseas promotion. We hope that through cooperation with YouTube KOLs in fields such as blockchain and AI, we can use the influence of KOLs to enhance the popularity of DeepBrain Chain in the global market through comprehensive project interpretations, video AMA interviews and other forms. - -KOL cooperation basically includes screening KOLs, inviting KOLs, determining specific cooperation methods, applying for treasury funds, and checking and accepting cooperation results. Under the marketing mechanism led by the council and the community, active members of the council and the community can participate in all aspects of KOL cooperation, actively explore high-quality cooperation opportunities, and assist KOL to complete the cooperation. As a reward, the cooperation leader can apply for a certain amount of DBC from the national treasury as a service fee. In order to mobilize everyone's enthusiasm in the early stage, we suggest that it be 20%-30% of the cooperation funds (approved by the DBC council), especially excellent cooperation cases It can reach 50%. For example, the transaction price of a youtube cooperation is 4000U, and the cooperation leader can get 800U, so the treasury approval fee is 4800U, and so on. (except for the founder of the foundation, everyone can apply for service remuneration) - -The following is the KOL cooperation link and the specific implementation work of each link. The specific service remuneration ratio can be determined by the council after discussion according to the difficulty and influence of the actual case. - -![](./assets/council-outreach-proposal.assets/2.png) - -Attached is the list and follow-up status of some English-language youtube bloggers that have been screened and sorted out, for your reference.https://docs.google.com/spreadsheets/d/1cL6i-sGW8uOnyj-jtxJ5pAa_Fdy7IeIiaX9j96Vfs8c/edit#gid=0 diff --git a/docs/ko/dbc-democracy/dbc-council-establishment-notice.md b/docs/ko/dbc-democracy/dbc-council-establishment-notice.md deleted file mode 100644 index 08765e0ee..000000000 --- a/docs/ko/dbc-democracy/dbc-council-establishment-notice.md +++ /dev/null @@ -1,28 +0,0 @@ -# Notice on the establishment of the DeepBrain Chain Council - -As DBC has already launched on the mainnet and has been running stably, the foundation will take the decentralized on-chain governance, based on Polkadot Governance module, as its next priority. After in-depth discussion, the foundation decide to establish DBC council, which will run separately from the foundation and aim to improve DBC's development. The foundation will focus more on technology, product development and brand image management and maintenance. As the decision-making body of DAO community autonomy, the Deep Brain Chain Council will be responsible for proposal examination and approval, fund management, etc. At the same time, it will make suggestions for ecological development and practice the concept of community autonomy. - -DBC council is an on-chain entity consisting of 13 members. All theses members are elected by voting. This governance system will run for test within 2021. During the test period, the council will be elected every 14 days, and since 2022 it will be elected every 2 months,increasing to 21 members . According to polkadot governance system, the council can decide the priority of the proposals, and has access to the Treasury. - -Accourding to DBC whitepaper, the foundation will unlock 1.5 billion DBCs within 6 years. - -However, for better decentralized on-chain governance, DBC foundation decide to extend the period to 15 years, which means unlocking 100 million per year. Since 2022, each year the 51% of the 100 million will be monthly distributed to DBC Treasury, enacted by intelligent contract. If the DBCs in Treasury of the current year are not used up, they will be automatically burning. The remaining 49% will be used as the operating expenses of the foundation. The foundation will make financial disclosure and release financial reports regularly every quarter. - -The funds in DBC Treasury is managed by council. All members of the DBC community can submit a proposal and apply for Treasury funds. If the proposal is approved by the council, the budget will be automatically allocated from the Treasury. - -Proposals may consist of (but are not limited to): - -- Infrastructure deployment and continued operation. -- Network security operations (monitoring services, continuous auditing). -- Ecosystem provisions (collaborations with friendly chains). -- Marketing activities (advertising, paid features, collaborations). -- Community events and outreach (meetups, pizza parties, hackerspaces). -- Software development (wallets and wallet integration, clients and client upgrades). - -(\*refer to the polkadot wiki.) - -Candidates for the council can campaign in the community to attract votes, focusing on what you can do and what value you can created for the DBC ecosystem. - -Commencing in July 2021, NFT awards will be nominated by members of the community and determined by a vote of the Council. In 2021 the Council can decide to award 2 NFT Gold Medals, 20 NFT Silver Medals, and 200 NFT Bronze Medals at most. From 2022 to 2027, 1 NFT Gold Medal, 10 NFT Silver Medal and 100 NFT Copper Medal can be awarded each year according to the NFT award rules (Description of NFT awards: https://deepbrainchainglobal.medium.com/dbc-mainnet-launching-nft-commemoration-coin-explained-4fb9bf66ae3d). The NFT Medal repurchase costs will be afforded by the Foundation until December 31, 2026, UTC+8. - -If you have any suggestions, please feel free to send us an email: service@deepbrainchain.org and the deadline is 23:59 on June 30, 2021, UTC+8. diff --git a/docs/ko/dbc-democracy/dbc-council.md b/docs/ko/dbc-democracy/dbc-council.md deleted file mode 100644 index 0320dd7e3..000000000 --- a/docs/ko/dbc-democracy/dbc-council.md +++ /dev/null @@ -1,35 +0,0 @@ -# Explanation on Promoting DBC Council Member Elections and Proposals - -After a long period of preparation, the DeepBrain Chain Council began trial operation in September, and the funding source was first allocated manually by the foundation. Community members are welcome to actively participate in the election of council members and actively make proposals to promote DeepBrain Chain community governance, jointly building the world's largest distributed high-performance computing power network. - -1. The election and voting of council members are done on the mainnet ([https://dbcwallet.io/#/council](https://dbcwallet.io/#/council)), and related tutorials will be released soon. - -2. Exchanges such as Huobi/gate have completed the DBC mainnet token swap so that everyone can use the mainnet DBC to participate in community governance. - -3. Community members who are interested in participating in the Council can promote in the Chinese and English communities, and the foundation can provide some support and assistance in the early stage. - -4. Community members who are interested in making proposals to apply for funding can follow the proposal process (trial run) that the foundation will release soon. - -5. The members of the foundation do not participate in the election of the council and the voting of proposals. The mechanism is completely community self-governance. - -6. Starting from 2022, the foundation will unlock DBC 100 million per year. 51% will automatically enter the Treasury from the smart contract at the beginning of each month, which will be managed by the council. If the current year's funds are not used up, they will be automatically burned. The remaining 49% will be used as the foundation's operating expenses. The foundation will be financially open and will regularly release financial reports each year. - -7. From September to December 2021, during the trial operation period of the Council, the Foundation will allocate 2 million DBC to the Council every month. In specific implementation, after the council approves the proposal, the foundation is responsible for paying the funds. Welcome to make proposals. - -8. Funds may be used to (but are not limited to): - -- Infrastructure deployment and continued operation. - -- Network security operations (monitoring services, continuous auditing). - -- Ecosystem provisions (collaborations with friendly chains). - -- Marketing activities (advertising, paid features, collaborations). - -- Community events and outreach (meetups, pizza parties, hackerspaces). - -- Software development (wallets and wallet integration, clients and client upgrades). - -9. The members of the council are currently elected every 7 days. After the mainnet upgrade in September, elections will be held every month. Starting from January 2022, the members of the council will be elected every 2 months. - -10. DBC staked for supernodes can also be used for the election of council members and voting on proposals, without the need for additional staking. diff --git a/docs/ko/dbc-democracy/dbc-nft.md b/docs/ko/dbc-democracy/dbc-nft.md deleted file mode 100644 index 8925fb558..000000000 --- a/docs/ko/dbc-democracy/dbc-nft.md +++ /dev/null @@ -1,25 +0,0 @@ -# How to apply for DBC NFT from DBC Council - -As DeepBrain Chain community self-governance system has launched, and the award of the DeepBrain Chain NFT medal has been handed over to DBC Council. This year the council can award up to 2 gold NFT medals, 20 silver NFT medals and 200 bronze NFT medals. - -Community members who want to apply for DBC NFT can apply according to the following process. - -1. Submit a proposal on-chain on the page [DBC mainnet-governance-treasury] (https://www.dbcwallet.io/#/treasury), with a value of 0.1DBC and a binding of 0.01DBC. After submission, you will get a number of the proposal on the chain. - -![](./assets/dbc-nft.assets/1.png) - -![](./assets/dbc-nft.assets/2.png) - -2. Organize your application materials, such as contributions to the community and related certificates, and post to the subreddit community of the DBC Council https://www.reddit.com/r/DBC_Council/, add the on-chain number of the proposal to the title, and Add flair【NFT Application】. At the same time, please attach your email address to facilitate follow-up contact. - -![](./assets/dbc-nft.assets/3.png) - -3. Waiting for on-chain voting by the council. If the proposal is passed, DBC foundation will be responsible for issuing the NFT to you. - -More about DBC NFT: - -NFT medal is the highest honour of the DBC community and is divided into gold, silver and bronze, which are awarded to members who have made outstanding contributions to the DBC community. These medals can be repurchased by the Foundation. - -Gold medals are awarded to community members who have made outstanding contributions to the community; silver medals are awarded to community members elected as supernodes, important computing power suppliers, computing power promotion platforms (users), technical developers, media partners, etc.; bronze medals are awarded to offline volunteers, community members who actively promote the project, DBC “die-hard fans”, the first batch of AIM buyers, etc. - -The Foundation will conduct a buyback in January each year and will destroy them afterwards. Gold coins are redeemable for 1,000,000 DBC, silver coins for 100,000 DBC, and bronze coins for 10,000 DBC. The buyback deadline is December 31, 2026 BST. diff --git a/docs/ko/dbc-democracy/join-council.md b/docs/ko/dbc-democracy/join-council.md deleted file mode 100644 index f9f1ce96c..000000000 --- a/docs/ko/dbc-democracy/join-council.md +++ /dev/null @@ -1,67 +0,0 @@ -# DBC 이사회 선거 프로세스 - -https://t.youku.com/yep/page/m/957gtxr1a1?wh_weex=true&isNeedBaseImage=1&objectType=1&objectCode=1450996867&sharekey=50ac9db00159ca59a635d9ef76a7041a5 - -이미지 버전: - -우선 Polkadot 기반 DBC 메인넷 지갑을 가지고 있어야 합니다. 지갑을 만든후 DBC 메인넷 주소 www.dbcwallet.io를 열고 "거버넌스" 클릭합니다. - -![](./assets/join-council.assets/1.jpg) - -"의회"표시됩니다 - -![](./assets/join-council.assets/2.jpg) - -클릭후 현재 의회 선거 상태 볼수있습니다 - -![](./assets/join-council.assets/3.jpg) - -"의석"--현 이사회 구성원 - -"runners up"--일시적으로 탈락한 후보자 (준우승) - -"후보자"--후보자 제출후 일시적으로 20위안에 못들어간 참가자들 - -![](./assets/join-council.assets/4.jpg) - -페이지 우측상단에 "투표" 및 "후보자제츨" 있습니다 - -이사회 선거참여 할려면 "후보자제출"으로 이동, 투표만 하려면 "투표"로 이동합니다 . - -**A.우선"투표" 단계 확인합니다** - -![](./assets/join-council.assets/5.jpg) - -클릭후 자체 계좌 잔액 확인합니다 - -1개DBC 는 1표입니다,주의사항: DBC가 1개 미만일 경우 투표 불가입니다 - -![](./assets/join-council.assets/6.jpg) - -확인후 사인하여 제출, 비밀번호 입력하면 됩니다 - -**B.다음은 "후보자 제출 "확인합니다** - -![](./assets/join-council.assets/7.jpg) - -입력 후 선거 참여할 계정을 선택하세요. - -"후보 자격 바인딩"은 기본적으로 선거 자격을 얻기 위해 10,000개DBC로 바인딩됩니다. - -제출 클릭후 온체인 등록 확인되면, "투표" 단계로 돌아가서 스스로에게 투표할 수 있습니다. - -투표는 특정 계좌에 보증금을 입금하는 방식으로 이루어지며, - -보증금이 많을수록 당첨 확률이 높아집니다 - -물론 당신이 커뮤니티에서 높은 명성을 얻고 투표를 받을수 있는 강력한 능력이 있다면 모든 사람을 동원하여 자신에게 투표하도록 할 수 있습니다. ——이상은 이사회 선거에 참여하기 위한 모든 전략입니다. - -포인트: 투표를 하든 선거를 하든 노드 기존노드에 담보된 보증금을 해제할 필요가 없으며, 수익 및 선거 모두 동시 진행 가능합니다 ! - ---- - -DBC 메인넷이 Polkadot으로 완전히 전환된 후 커뮤니티 민주적 거버넌스의 추진이 현재 주요 행사가 되었습니다. - -DBC 재단은 매달 425만 개 DBC를 온체인 기금을 투입하며, 전부 커뮤니티가 사용할 거버넌스 기금으로 사용됩니다. - -DBC 커뮤니티의 모든 구성원은 커뮤니티의 생태적 발전에 유익한 일을 하기 위해 거버넌스 기금을 신청할 수 있습니다.기금은 이사회 투표 통해 통과하면 얻을 수 있습니다. diff --git a/docs/ko/dbc-democracy/proposing-referenda.md b/docs/ko/dbc-democracy/proposing-referenda.md deleted file mode 100644 index f0cbbc138..000000000 --- a/docs/ko/dbc-democracy/proposing-referenda.md +++ /dev/null @@ -1,57 +0,0 @@ -# 메인넷 퍼블릭 투표방법 - -퍼블릭 투표는 제안에 대한 대중 공개 투표 입니다. 거버넌스 결정은 제안서로 시작하여 , 대중 퍼블릭 투표를 통해 성립됩니다.여기서 제안은 계정 잔액 설정, 강제 이체 등과 같이 사용자가 직접 접촉 불가한 일련의 특권 기능 중 하나일 수 있습니다. 대중투표 제안은 대중 공개 제출, 이사회 제출 등에서 나올 수 있습니다. 여기서는 주로 대중이 퍼블릭 투표를 시작할 수 있는 방법을 소개합니다. - -여기에서 제안하는 것은 계정 잔액 설정, 강제 이체, Galaxy Race에 의해 활성화된 GPU 수, GPU 컴퓨팅 성능 가격 등과 같이 사용자가 직접 만질 수 없는 특권 기능 그룹 중 하나일 수 있습니다. - -일정 기간 동안 최소한의 DBC를 예금하여 누구나 국민투표를 시작할 수 있으며 , 전체 프로세스는 [프리 이미지 제출]-[제안서 제출]-[ 제안 최다 보조모션 얻음]-[퍼블릭 투표 진행]을 포함합니다 . - -## 1.프리 이미지 제출 - -제안서 제출전 제안자는 사전 이미지 먼저 제출 해야합니다 . - -[프리 이미지 제출]클릭 - -![](./assets/proposing-referenda.assets/1.png) - -제안서 내용에 따라 system선택 , 관련 파라미터 기입, 이후 프리 이미지 해시를 복사합니다 . - -![](./assets/proposing-referenda.assets/2.png) - -예)누군가 강제 이체를 시작하려면 시스템에서 "잔액"을 선택하고 표시되는 파라미터를 입력한 후 프리 이미지 해시를 복사해야 합니다 . - -![](./assets/proposing-referenda.assets/3.png) - -## 2.제안서 제출 - -사전 이미지 제출 후 , [제안서 제출]클릭, 이전 단계 보사한 이미지 해시를 여기에 기입합니다 . - -![](./assets/proposing-referenda.assets/4.png) - -제안서 제출후 , [제안]에서 제출한 제안서 확인 가능합니다 . - -![](./assets/proposing-referenda.assets/5.png) - -Reddit 커뮤니티에 더욱 상세 제안서내용을 동시에 게시하시면 좋습니다 .https://www.reddit.com/r/DBC_Council/ - -## 3.보조 모션 - -28일마다 대중에서 한 발의안, 즉 [보조모션] 가장 많은 발의안만 대중투표에 참여할 수 있습니다. 당신이 지지하고 일정량의 dbc를 보증하면 더 빨리 대중투표에 참여하도록 돕고 싶다면 [보조모션] 기능을 사용할 수 있습니다. 보증걸어둔 dbc는 퍼블릭 투표 진행시 잠금 해제됩니다. - -![](./assets/proposing-referenda.assets/6.png) - -![](./assets/proposing-referenda.assets/7.png) - -작업 완료후, 여기서 보조모션이 표시 됩니다 - -![](./assets/proposing-referenda.assets/8.png) - -## 4.거버넌스 메커니즘에 대한 추가 내용 - -DBC 메인넷은 Polkadot substrate 기반으로 개발되었으며 거버넌스 메커니즘은 Polkadot과 유사합니다. 거버넌스 메커니즘에 대해 상세 내용은 하기 링크 참고 부탁드립니다 : - -https://mp.weixin.qq.com/s/K3_ISFO2Zhi5Uh3s07rWUQ(중문) - -https://wiki.polkadot.network/docs/learn-governance#referenda(영문) - -https://wiki.polkadot.network/docs/maintain-guides-democracy(영문) diff --git a/docs/ko/dbc-democracy/staking-voting.md b/docs/ko/dbc-democracy/staking-voting.md deleted file mode 100644 index b10328705..000000000 --- a/docs/ko/dbc-democracy/staking-voting.md +++ /dev/null @@ -1,147 +0,0 @@ -# 슈퍼노드 투표 프로세스 - -> DBC 계정 생성, 보증, 슈퍼노드 선거 투표 프로세스 :https://bit.ly/3eAVQeU -> -> DBC슈퍼노드 선거보증, 투표링크:https://www.dbcwallet.io/#/staking/actions - -딥브레인체인 DBC 보유자는 지갑에서 노드 보증 수익을 얻을수있는 방법 무엇인가요? - -영상 링크 참고 :https://v.qq.com/x/page/d3247jd4vjb.html?url_from=share&second_share=0&share_from=copy - -## A.사전 준비 - -1.사용가능한 컴퓨터 준비. - -2.dbc 지갑 백업을 위한 니모닉, 가지고 있지 않아도 상관없습니다. 하기 내용중 메인넷에서 새 지갑을 만드는 방법 프로세스 있습니다. - -3.구글 브라우저 이용. - -4.Polk Js 지갑 플러그인 설치. - -플러그인 다운로드 주소 :https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/ - -링크 클릭후 하기 파란색 네모 클릭 , 이하는 추가 완성후 페이지 입니다 . - -![](./assets/staking_voting.assets/3.jpg) - -파란색 네모칸이 하얀색으로 변경하면, 우측상단 레드 화살표 표시됩니다, 즉 플러그인 추가 완성 된것입니다 . - -## B.도입(혹은 생성) 딥브레인체인 메인넷 지갑 - -이전단계 완료되면 플러그인 아이콘 클릭하여 메인넷 지갑 생성할 수 있습니다. - -![](./assets/staking_voting.assets/4.jpg) - -![](./assets/staking_voting.assets/5.jpg) - -상기 니모닉은 매우 중요합니다, 안전한 곳에 필수로 백업해주세요 . 기록후 next step 클릭하여 비밀번호 설정합니다 . - -![](./assets/staking_voting.assets/6.jpg) - -설정이 완료되면 다음 단계로 이동합니다. 플러그인 아이콘을 클릭하면 자체 딥브레인체인 지갑주소 확인할수있습니다. - -![](./assets/staking_voting.assets/7.jpg) - -## C:DeepBrain Chain 메인넷 스테이킹 프로세스 , 검증인 노드 지명(슈퍼노드 스테이킹) - -주의: - -▶여기에 슈퍼노드를 스테이킹하는 것은 투표 수익을 얻기 위해 모든 사람이 참여할 수 있는 방식으로,서버와 같은 하드웨어 리소스가 필요하지 않으며 모든 사람이 일정량의 dbc를 보유하고 있으면 됩니다. - -▶여기에서는 마이닝 스테이킹에서 발생할 수 있는 몇 가지 함정과 추후 스테이킹 기술을 소개하여 모든 사람이 가능한 한 동일한 양의 dbc를 스테이킹하여 최고의 수익을 얻을 수 있도록 하는 방법을 소개합니다. - -1.딥브레인체인 메인넷 주소 클릭 https://www.dbcwallet.io/#/explorer - -클릭후, 여러분 지갑 주소와 지갑 잔액을 확인할 수 있습니다 . - -![](./assets/staking_voting.assets/8.jpg) - -이후 네트웍 스테이킹 클릭하여 슈퍼노드 리스트 정보 확인할 수 있습니다. - -![](./assets/staking_voting.assets/9.jpg) - -1분기에는 21개의 슈퍼노드가 있고, 주회측은 3개의 노드를 점유하지만, 슈퍼노드의 수량이 18개 이상일 경우 주최측 노드는 중지됩니다, 이후 분기마다 10개의 노드가 추가되어 현재 총 41개 노드 있습니다 . (https://dbc.subscan.io/validator) - -현재 41개의 슈퍼노드의 상황을 분석해 보겠습니다 . - -주의: - -슈퍼노드는 24시간마다 선출되며, 영원한 슈퍼노드는 없습니다. 슈퍼노드의 총 보증량에 따라 슈퍼노드 선정될 수 있으며, 최종 상위 41개는 별도의 조작 없이 자동으로 슈퍼노드로 선정됩니다. - -![](./assets/staking_voting.assets/10.jpg) - -슈퍼노드 페이지에서 자신과 타인이 보증한 금액의 합이 가장 큰 41개의 노드가 슈퍼노드로 선정되는 것을 알 수 있습니다, 또한 선거에 참여하고 싶은 다른 노드도 있지만, 이번 선거 종료 혹은 순위가 41위 뒤로 되여 이 페이지에 나타납니다. - -![](./assets/staking_voting.assets/11.jpg) - -목표 클릭, 선거 참여하는 모든 슈포노드 확인 가능합니다. 다음은 슈퍼노드 데이터 분석을 통해 어떤 수퍼노드에 스테이킹해야 매일 수익 얻고 , 수익 최대화 할수있는지 확인합니다. - -![](./assets/staking_voting.assets/12.jpg) - -모든 슈퍼노드 확인후 , 하기 데이터 분석이 필요합니다 - -![](./assets/staking_voting.assets/13.jpg) - -주의: - -return:계정의 dbc에 따라 노드를 스테이킹 하면 얻을 수 있는 수익을 말하며, 클릭 후 리턴이 표시되지 않는 경우 리턴을 클릭하면 자동으로 순위별로 정렬됩니다. - -스테이킹 총량: 자신 및 타인 스테이킹 DBC 총량 입니다, 이 데이터를 보고 41위 슈퍼노드로 선정됩니다 . - -커미션:즉, dbc 네트웍은 매일 같은 양의 dbc를 선정된 슈퍼노드에 보냅니다, 슈퍼 노드는 네트웍 블록을 검증하기 위해 서버가 필요합니다. 모든 슈퍼 노드는 자체적으로 커미션 비율을 설정할 수 있습니다.커미션이 높을수록 슈퍼노드는 더많이 얻게 됩니다, 그럼 슈퍼노드에 스테이킹 한사람은 얻는게 줄어듭니다, 총수량은 한정되있습니다. - -더욱 쉽게 이해하기 위해 , 하기 예제 참고바랍니다 : - -dbc 메인넷은 매일 41개 조각 케이크를 사용자를 위해 준비하고 3개는 팀 자체를 위해 준비하고 나머지 41개는 메인 네트웍의 스테이킹 사용자가 41개의 케이크를 나눌 수 있도록 합니다. 그러나 어떻게 공정하고 설득력이 있게 나눌 수 있을까요? dbc는 수없이 많은 팀장을 설정합니다, 즉 슈퍼노드입니다 . 단 케이크는 41개만 있으며 이 모든 팀장들이 레이스에 참여하여야 합니다. 어떻게 당신이 선출될 수 있다고 보장할 수 있습니까? 이는 수테이킹 총계에만 달려 있습니다. 자체 보유 수량 및 타인 스테이킹 DBC총량입니다 순위는 41위 안에 들어야합니다 . 41순위에만 드면 다른 작업 없이 무조건 슈퍼노드로 선정 됩니다, 유일하게 운영해야 하는 것은 슈퍼 노드가 주요 커뮤니티에 투표 지원 요청 하거나 자체 dbc를 더욱 많이 보유하는 것입니다. 즉 다음 라운드를 보장하기 위해 상위 21위 안에 들어야 케이크를 나눌수있습니다 . - -추가질문, 케익은 있는데 어떻게 나누는지? 슈퍼노드네 투표 후 나의 수익은 어떻게 계산되는지 알아봅니다. - -우선, dbc 메인 네트웍은 이 케이크를 슈퍼 노드에 보냈습니다, 즉, 슈퍼 노드는 매일 약 6772개 (41노드일 경우) dbc를 받습니다. 하기 페이지의 데이터는 슈퍼 노드를 더 잘 필터링하는 데 도움이 될 수 있습니다. - -**[출처]** [슈퍼노드 투표 프로세스](https://blog.naver.com/dbc_korea/222643200202)|**작성자** [DBC KOREA](https://blog.naver.com/dbc_korea) - -![](./assets/staking_voting.assets/14.jpg) - -![](./assets/staking_voting.assets/14.2.jpg) - -​ - -케익 얻을(DBC) 계산 공식=(케익 총량*(1-커미션)*(자신이 노드에 스테이킹한 DBC 총량 대비 비율)) - -팁: 슈퍼노드 수입은 두가지에 얻습니다 , 첫째,자체 설정한 커미션 비율\*얻은케익(dbc)총량+케익총량*(1-커미션)*(슈퍼노드의 dbc가 총량대비 비율)) - -이 공식을 여러분께 설명하겠습니다. 가장 먼저 봐야 할 것은 커미션 아래 숫자입니다. 이 비율은 슈퍼노드 자체설정합니다. 예를 들어 0%로 설정하면 슈퍼노드가 이 케이크를 얻은 후에는 이부분은 받지 않겠다는 의미입니다,즉 슈퍼노드는 dbc 보상받은후 스테이킹자들과 공유하고 그들의 dbc 보유량에 따라 비율따라 공평하게 나눕니다 . 그러나 기본적으로 모든 노드는 이 커미션 비율을 0%로 설정하지 않습니다. 커미션 비율이 높을수록 슈퍼 노드가 더많은 수익을 얻을수있습니다 . 예 , 이 비율을 100%로 설정하면 이슈퍼노드는 스테이킹 자에게 케이크 한 조각을 주지 않을 것이고, 이런 노드에게는 아무 소득도 얻지 못하기 때문에 그냥 무시하시면 됩니다. - -단 커미션 비율만 보지는 않습니다, 여러 데이터로 분석후 선별해야합니다 . - -![](./assets/staking_voting.assets/15.jpg) - -따라서 인과 관계는 커미션과 자신이 스테이킹한dbc 총량대비 비율이 최종 수익을 결정합니다 , 즉 return 크기 입니다. - -주의:스테이킹할 때 수익률에 따라 정렬한 후 상대적으로 수익률이 높은 상위 21개를 선택한 다음 일부 신뢰할 수 있는 노드를 선택합니다.왜 신뢰할 수 있는 노드를 선택할까요? 일부 노드는 처음에 볼 때 수수료 비율이 매우 낮게 설정하거나 0으로 설정합니다, 이는 일부 스테이킹자를 유도할려는 행위입니다, 처음 계산 시 수익률이 높아지지만 이후 슈퍼 노드로 선출되면 커미션비율을 변경할 수 있습니다. 즉 슈퍼노드가 얻는 dbc를 늘리면 다른 사람들은 자연스럽게 훨씬 적게 받게됩니다. 따라서 우리는 수익을 이전 수익보다 적지만 안정적임을 보장할 수 있도록 신뢰할 수 있는 노드를 찾아야 합니다. 이를 위해서는 우리가 투표하는 슈퍼 노드를 검증 하기위해 , 공식 커뮤티니에 가입하여 지켜보고 소통해야합니다 . - -고래해야 할 또 다른 조건은 슈퍼 노드의 기기 상황 입니다 . - -![](./assets/staking_voting.assets/16.jpg) - -![](./assets/staking_voting.assets/17.jpg) - -이 곡선 아이콘을 클릭하면 몇 가지 처벌과 보상을 볼 수 있습니다. 곡선의 일부가 갑자기 자주 떨어지는 경우이 슈퍼 노드가 자주 처벌 받는것을 의미합니다. 처벌을 받으면 오늘의 수익이 훨씬 적음을 의미합니다. - -하기 슈퍼노드에 대해 분석 완료후 구체적인 투표 프로세스 입니다 . - -![](./assets/staking_voting.assets/18.jpg) - -![](./assets/staking_voting.assets/19.jpg) - -한도액을 정할때 전부 스테이킹 하지 말고 네트웍 이체을 위해 일부 dbc를 남겨 두세요 . - -![](./assets/staking_voting.assets/20.jpg) - -계속 다음단계 클릭하여 하기 페이지 화면에 비밀 번호 입력하시면 됩니다 . - -![](./assets/staking_voting.assets/21.jpg) - -![](./assets/staking_voting.assets/22.jpg) - -스테이킹 완료되면 목록에서 자신이 스테이킹한 슈퍼노드의 대기 정보를 확인할 수 있으며, 다음 선거에서 담보로 지정된 슈퍼노드가 당선될 경우 해당 보상을 받을 수 있습니다. diff --git a/docs/ko/dbc-democracy/treasury-usage.md b/docs/ko/dbc-democracy/treasury-usage.md deleted file mode 100644 index 77002da69..000000000 --- a/docs/ko/dbc-democracy/treasury-usage.md +++ /dev/null @@ -1,8 +0,0 @@ -# Usage of DBC Treasury Funds - -- Infrastructure deployment and continued operation. -- Network security operations (monitoring services, continuous auditing). -- Ecosystem provisions (collaborations with friendly chains). -- Marketing activities (advertising, paid features, BD collaborations). -- Community events and outreach (meetups, pizza parties, hackerspaces). -- Software development (wallets and wallet integration, clients and client upgrades). diff --git a/docs/ko/dbc-democracy/voting-referenda.md b/docs/ko/dbc-democracy/voting-referenda.md deleted file mode 100644 index 9fd8ff848..000000000 --- a/docs/ko/dbc-democracy/voting-referenda.md +++ /dev/null @@ -1,59 +0,0 @@ -# Guide | Voting on Referenda on DBC Mainnet - -## 1. The democracy page - -[https://www.dbcwallet.io/#/democracy](https://www.dbcwallet.io/#/democracy) - -- **proposal** — Publicly submitted proposals. At the end of each launch period (every 28 days), the most seconded proposal will move to referenda. - -- **external** — Proposals submitted by the council, either through a majority or unanimously. - -- **launch Period** — How often new public referenda are launched. - -![](./assets/voting-referenda.assets/1.png) - -Click the highlighted button to see the proposal. More details may show on https://www.reddit.com/r/DBC_Council/ - -remaining — remain xx days to vote on the referenda. - -activate — If the outcome is “pass”, xx days before the proposal become activated. - -turnout — the total number of voting tokens (does not include conviction), and the outcome showing here is just a temporary outcome instead of a final one. - -## 2. Voting - -At the end of each launch period, the most seconded proposal will move to a referendum. During this time you can cast a vote for or against the proposal. You may also lock up your tokens for a greater length of time to weigh your vote more strongly. During the time your tokens are locked, you are unable to transfer them, however, they can still be used for further votes. If you don’t want to lock your tokens, you still can participate in voting. - -Click “vote” and see this page. - -![](./assets/voting-referenda.assets/2.png) - -If you would like to cast your vote for the proposal select the “Vote Aye” option. If you would like to cast your vote against the proposal in referendum you will select the “Vote Nay” option. - -![](./assets/voting-referenda.assets/3.png) - -One notable option is “conviction”. This option means that you can decide for yourself how long to lock the tokens within the given range. The longer you are willing to lock your tokens, the stronger your vote will be weighted. The timeline for the conviction starts after the voting period ends. - -## 3. Tallying - -![](./assets/voting-referenda.assets/4.png) - -Depending on which entity proposed the proposal and whether all council members voted yes, there are three different scenarios. - -approve — the number of aye votes - -against — the number of nay votes - -turnout — the total number of voting tokens (does not include conviction) - -electorate — the total number of tokens issued in the network - -![](./assets/voting-referenda.assets/5.png) - -## 4. More Details about the mechanism - -DBC mainnet is developed through Polkadot substrate, so the democracy mechanism of DBC is similar to that of Polkadot. To learn more about the referendum system, you can see - -[https://wiki.polkadot.network/docs/learn-governance#referenda](https://wiki.polkadot.network/docs/learn-governance#referenda) - -[https://wiki.polkadot.network/docs/maintain-guides-democracy](https://wiki.polkadot.network/docs/maintain-guides-democracy) diff --git a/docs/ko/dbc-introduction/assets/dbc-applications.assets/dbc_token.png b/docs/ko/dbc-introduction/assets/dbc-applications.assets/dbc_token.png deleted file mode 100644 index 05b81c7f2..000000000 Binary files a/docs/ko/dbc-introduction/assets/dbc-applications.assets/dbc_token.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_01.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_01.png deleted file mode 100644 index 041e76aeb..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_01.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_02.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_02.png deleted file mode 100644 index d6a970301..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_02.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_03.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_03.png deleted file mode 100644 index 024a49c7a..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_03.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_04.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_04.png deleted file mode 100644 index 8f6b9ba4e..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_04.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_05.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_05.png deleted file mode 100644 index 6452c4d3c..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_05.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_06.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_06.png deleted file mode 100644 index 86cbd77a4..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_06.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_07.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_07.png deleted file mode 100644 index 93a418ce1..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_07.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_08.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_08.png deleted file mode 100644 index 067d0a1a0..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_08.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_09.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_09.png deleted file mode 100644 index 03f8f9b6f..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_09.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_10.png b/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_10.png deleted file mode 100644 index 688119ef5..000000000 Binary files a/docs/ko/dbc-introduction/assets/rent_virtual.assets/rentvir_10.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/cloud-platform-operation/assets/support-for-cloud-platform.assets/1.png b/docs/ko/dbc-introduction/cloud-platform-operation/assets/support-for-cloud-platform.assets/1.png deleted file mode 100644 index 64f557d20..000000000 Binary files a/docs/ko/dbc-introduction/cloud-platform-operation/assets/support-for-cloud-platform.assets/1.png and /dev/null differ diff --git a/docs/ko/dbc-introduction/cloud-platform-operation/initial-operation-process.md b/docs/ko/dbc-introduction/cloud-platform-operation/initial-operation-process.md deleted file mode 100644 index fb264fdba..000000000 --- a/docs/ko/dbc-introduction/cloud-platform-operation/initial-operation-process.md +++ /dev/null @@ -1,27 +0,0 @@ -# GPU 클라우드 플랫폼 초기 운영 프로세스 - -## 1. 시드 유저 운영 - -- A. 준비 작업 - - - GPU 클라우드 플랫폼 사용가능 상태 확인 - - 공식 twitter/reddit/discord/youtube/tele 등 소셜 미디어 계정 만듭니다.(국가별 미디어 채널 선정) - - 기본 제품 사용방법, 판촉 자료, 이미지 및 비디오 제작 - -- B.실제 작업 - - - 제품 사용 방법을 공식 reddit/youtube 계정에 게시, 유저 댓글 및 리트윗 활동 유도, 고품질 콘텐츠를 누적, 최적 검색 엔진 비중을 높이고 자연 트래픽을 얻을 수 있으며 사용자가 적극적으로 방문하도록 유도할 수 있습니다. 프라이빗 트래픽이 되어 후속 운영에 준비합니 다. - - GPU 개발자가 사용하는 reddit/disord 그룹의 고품질 콘텐츠 올리고, 주도적으로 채팅합니다, 특히 NVIDIA 및 딥 러닝 관련 사용자를 적극적으로 검색하고 정확한 트래픽을 자신의 커뮤니티로 가져와 프라이빗 트래픽이 되어 후속 운영에 준비합니다. - -## 2. 시드 유저에게 서비스 제공(사용자 접착력 유지 및 증가) - -- 시드 유저가 클라우드 플랫폼의 관련 기능을 충분히 사용하도록 감독 및 안내 -- 시드 유저가 사용 중 발생하는 모든 문제에 신속히 대응 -- 시드 유저가 제기한 제품 및 기술 관련 문제를 즉시 처리하고 대응합니다. - -## 3. 시드 유저 운영(프라이빗 트래픽 지속확장) - -- 유저의 사용 리뷰 작성을 권장하여 , 소셜 미디어 채널(twitter/reddit/discord 등)에 공개합니다 ,공식 소셜 미디어와 상호 작용하고 고품질 콘텐츠를 추가로 축적하여 클라우드 플랫폼이 개발자 그룹사이의 영향력 확대; -- 유저가 새로운 유저를 추천하고 공식 홍보 자료를 전달하도록 권장합니다. -- 활동적인 유저를 선정하여 커뮤니티 관리자로 활동하고 공식 운영자의 책임을 공유하도록 권장. -- 시드 유저에 좋은 서비스를 제공하여 , 이를 기반으로 좋은 입소문의 커뮤니케이션이 형성됩니다.핵심은 유저에게 서비스 제공하여 고품질 콘텐츠를 생성하고, 유저통해 영향력을 확대하고, 유저통해 사용자를 추가로 확보하고, 유저통해 사용자에게 서비스하는 것입니다,즉 폐쇄 루프를 형성합니다. diff --git a/docs/ko/dbc-introduction/cloud-platform-operation/support-for-cloud-platform.md b/docs/ko/dbc-introduction/cloud-platform-operation/support-for-cloud-platform.md deleted file mode 100644 index 74c27a91f..000000000 --- a/docs/ko/dbc-introduction/cloud-platform-operation/support-for-cloud-platform.md +++ /dev/null @@ -1,134 +0,0 @@ -# GPU클라우드 플랫폼에 대한 재단 지원 솔루션 - -클라우드 플랫폼 운영자가 빠르게 시작하고 자본 및 고객 확보에 대한 핵심 운영 문제를 해결할 수 있도록 DBC 팀은 이전 클라우드 플랫폼 운영 경험을 기반으로 하기 솔루션을 요약합니다. - -자금 지원은 어떻게 신청할수있는지요 ? - -자금 출처: :Treasury——DBC자금 풀 - -탈중앙화 프로젝트로서 DBC는 온체인 거버넌스와 커뮤니티 자체관리 진행합니다, 또한 생태 개발 전용 자금 풀(Treasury)을 보유하고 있습니다. 2022년부터 DBC 재단은 매월 425만개 DBC를 Treasury자금 풀로 잠금 해제하며, 이는 이사회(커뮤니티 투표) 에서 관리합니다. 이 자금은 주로 인프라 배포 및 지속적인 운영, 네트워크 보안 운영(모니터링 서비스, 지속적인 감사), 생태지원(우호체인과의 협업), 마켓 활동(광고, 지불, 협업), 커뮤니티 이벤트 및 외부 활동(meetup,pizza parties, hackerspaces), 소프트웨어 개발 등에 사용됩니다, 따라서 클라우드 플랫폼 자금 지원이 필요한 경우 제안을 통해 이사회 Treasury자금풀에서 신청할 수 있습니다. - -신청 프로세스 - -## 제안준비 - -제안서 템플릿 참고하여 제안서 발행, 완전한 제안서 포함 내용 : - -1. 제안 배경 - -2. 제안담당자/팀 소개 - -3. 문제 진술 - -4. 목표 및 해결솔루션 - -5. 자금 지불 상황 - -### 오프체인 토론 - -이사회 및 커뮤니티 구성원과 제안을 논의하여 의견 통합 후 제안서 개선 - -제안서 제출 전 , 제안자는 위쳇 ,telegram,reddit 등 어떤 오프 체인 상황에서든 이사회 및 커뮤니티 구성원과 제안을 논의할수 있습니다 . - -### 온체인 제출 - -DBC메인넷 제출 ,개선한 제안을 reddit에 배포합니다 - -▶주의! 온체인 제출 시 DBC의 일부를 보증금으로 합니다 . 제안 통과되면 보증금 반환; 제안 거절되면 보증금 반환되지 안습니다 ! 따라서 제안서 작성에 주의를 기울여 보다 완전하고 실현가능한 제안서를 제출하시기 바랍니다 . - -### 이사회 투표 - -이사회 구성원은 체인에서 제안서 투표합니다 - -### 자금 발행 - -제안 통과후, 딥브레인체인 재단에서 자금 발행합니다 - --만약 제안 주기 길고, 자금 금액이 크면, 제안서에서 분기 발행 신청을 추천합니다 - --매번발행시 투표 필요여부 건도 , 제안서 내에 표기하시면됩니다, 이사회에서 이에 대해 합리적 판단을 진행합니다. - --reddit커뮤니티에 진도사항 주기적으로 업데이트 하셔야합니다 . - -자금신청 이미지 프로세스:https://deepbrainchain.github.io/DBC-Wiki/dbc-democracy/apply-treasury.html - -제안 템플릿:https://shimo.im/docs/lfwA369loYQhDprN - -DBC Council reddit 커뮤니티:https://www.reddit.com/r/DBC_Council/ - -## 사용자 확보: 사용자 찾기, 사용자 동기 부여 - -(여기 사용자 확보는 주로 AI 개발자와 같은 개인 사용자입니다; 기업 사용자 수요가 있으시면,DBC팀에서 전담 인력을 지원합니다.) - -### 잠재적 사용자를 찾는 방법은 무엇입니까? - -DBC 컴퓨팅 네트워크의 장점은 [가성비 높은 GPU 컴퓨팅 리소스]입니다, 현재 GPU 컴퓨팅 리소스는 블록체인, 인공지능, 클라우드 게임, 시각 렌더링, 바이오 의약품, 반도체 시뮬레이션 등 다양한 시나리오에서 사용됩니다. 따라서 이러한 분야의 실무자 및 관련 전공자들이 주로 사용하는 플랫폼은 우리의 타겟 사용자 모임 장소입니다, 예 AI 개발자 커뮤니티, 모델링 디자이너 커뮤니티, 디자인 소프트웨어 사용자 커뮤니티 등.. - -하기 일부 목표 사용자 모임 장소가 공유드립니다 . - -| GPU사용자 커뮤니니 | 3D Rendering and Architectural V isualization | https://www.facebook.com/groups/891302667703732 | 3D렌더링 및 건축 가시화 | -| --------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------ | --------------------------------- | -| | 3D Modeling,Texturing, Rendering, Rigging, Animation | https://www.facebook.com/groups/290530545401744 | 3D건축 렌더링 에니메이션 등 | -| | 3D Modeling, 2D Art, Drawing, Design, Animation,VFX, Rendering, illustrator | https://www.facebook.com/groups/488801081988816 | 3D건축 렌더링 에니메이션 등 | -| KOL(KOL 평가 커뮤니티 관심) | Benji-Sales | https://www.youtube.com/benjisales | 영상게임 업계 블로거 | -| | RedGaming Tech | https://www.youtube.com/c/RedGamingTech/featured | GPU카드 및 각종 하드웨어 기술분석 | - -### 사용자 인센티트브 방안 - -(이부분 지원 기간은 클라우드 플랫폼 구축 초기 3개월입니다 ) - -### 트위터 인센티브 계획: - -#### 임무: - -3개월 이상 가입한 트위터 계정을 사용하여 다음 2가지 임무 완성합니다 : - -1. DBC및 클라우드 플랫폼 트위터 팔로우 - -2. DBC 및 클라우드 플랫폼관련 트위터 게시 , (혹은 다른 지정 트위터 리트윗),태그 추가 #DBC #GPU ,혹은 클라우드 플랫폼 관련 태그 , 24시간 이상 유지 - -#### 보상: - -원작 트위터: 2000DBC - -지정 트위터 리트윗: 1000DBC - -(위 두가지중 한가지 선택, 1인 1회 제한 ) - -#### 수상 방법: - -(1)트위터 메인페이지 링크 (2)상기 두번째 링크 혹은 스크린샷 (3)dbc 받을 주소를 GPU클라우드 플랫폼 운영자에게 보냅니다 - -### 변형 인센티브: - -#### 임무: - -신규 사용자에게 트위터 임무 완료하도록 추천, 1인당 최대 10번 보상초청 가능 - -#### 보상: - -1인 초대 임무 완료시 dbc 1000개 지급 - -#### 수상 방법: - -초대받은 사람은 (1)초청자 및 dbc주소 (2)상기 트위터 보상 필요서류를 GPU클라우드 플랫폼 운영자에게 보냅니다 - -### 문안 인센티브: - -사용자는 YouTube 및 tiktok에 클라우드 플랫폼 사용에 대한 원본 동영상을 게시하거나 ,기타 ai개발자 포럼, GPU 사용자가 모이는 커뮤니티에 dbc 및 클라우드 플랫폼에 대한 원본 소개글 및 공유 게시물을 게시합니다. - -#### 보상: - -운영자는 콘텐츠 길이, 품질, 효과 등에 따라 5000-30000의 dbc 보상을 제공합니다. 특히 우수한 인기 콘텐츠는 NFT 메달 보상 받을수있습니다. - -#### 수상 방법: - -개인 홈페이지의 스크린샷 및 작품 링크를 클라우드 플랫폼 운영자에게 보냅니다, 작품당 1회 제한 - -## PR - -1. DBC는 자체 소셜 미디어 통해 클라우드 플랫폼 홍보 지원합니다. - -2. DBC는 글로벌 미디어 연결하여, 클라우드 플랫폼이 외부 미디어 채널과 연결되도록 지원하며 ,인지도 향상 - -3. DBC는 GPU 클라우드 플랫폼과 협력하여 제품 프로모션, 마케팅 활동을 함께 할 수 있습니다. diff --git a/docs/ko/dbc-introduction/dbc-applications.md b/docs/ko/dbc-introduction/dbc-applications.md deleted file mode 100644 index 6e0aa2135..000000000 --- a/docs/ko/dbc-introduction/dbc-applications.md +++ /dev/null @@ -1,62 +0,0 @@ -# Fields of DBC application - -Since the establishment of DeepBrainChain, it has been committed to improving the ease of use of DeepBrainChain computing power network and promoting commercialization, and has made great progress in blockchain, artificial intelligence, cloud games, visual rendering, biopharmaceuticals , semiconductor simulation and other scenarios have been widely used, providing high-cost GPU computing power for many enterprises. A total of more than 50 manufacturers around the world have deployed high-performance GPU cloud platforms based on the DeepBrainChain network, serving hundreds of artificial intelligence and cloud gaming-related companies and more than 20,000 AI practitioners. - -## **Progress DBC has made** - -- Jul.2017 The DeepBrain Chain was established, defining the objectives and vision as well as the technical architecture. - -- Dec. 2017 Fund-raising completed. - -- Jan.2018 DBC launched on Huobi.pro. - -- Aug.2018 DBC computing power network goes live and the code is open sourced on GitHub. (https://github.com/DeepBrainChain) - -- Nov.2019 DBChain, the first cloud platform based on DeepBrain Chain, goes live. (https://www.dbchain.ai) - -- Jul.2020 The first DeepBrain Chain-based enterprise cloud platform, Congtu Cloud, goes live. (https://www.congtu.cloud) - -- Dec.2020 DBChain global AI developer users exceed 10,000, serving more than 500 AI-related universities and labs worldwide. - -- May 2021 DeepBrain Chain node mainnet officially launched. (https://www.dbcwallet.io) - -- Jun.2021 DeepBrain Chain mainnet browser goes online. (https://dbc.subscan.io) - -- Jun.2021 The number of GPU cloud platforms based on DeepBrain Chain exceeds 50. - -- Jul.2021 DeepBrain Chain GPU computing power mainnet starts public testing. - -- Aug.2021 Congtu Cloud enterprise customers exceed 100.% - -- Oct.2021 Total number of GPU computing power in the public test exceeds 1200 cards, and the rental rate is over 98%. (https://galaxyrace.deepbrainchain.org) - -- Nov.2021 DBC GPU mainnet will launch officially. - -## DBC Product Roadmap - -| Q4 2021 | Q1 2022 | Q2 2022 | Q3 2022 | Q4 2022 | -| :-------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------- | -| Galaxy Competition Reward Version 1.0 is launched on the DBC mainnet, and computing workers can get dbc rewards when they go online on GPU machines | Universal gpu rental rpc interface version 1.0 is online | Computing Reward version 2.0 is online, supporting more NVIDIA GPUs | Universal gpu rental rpc interface version 2.0 is online | The computing power reward supports various types of computing chips such as brain-like computing chips, NPU | -| The 1.0 version of the DBC distributed high-performance computing network based on virtual machine is online | Support multiple operating system virtual machine, including ubuntu, windows, to meet the needs of users such as cloud games and Ai training servers. | Version 2.0 of the DBC distributed computing network based on virtual machine is launched | -| Improve the management and resource scheduling of virtual machines, and improve the client-side and server-side communication protocols | The functions of virtual machines are further improved, and operations such as snapshots and batch deployment are supported, which further improves the speed of creating virtual machines and the performance of virtual machines. | Distributed computing network optimizes communication protocols, further increases network scale, and enhances the operating efficiency of the entire network | -| GPU machine verification function is online in beta version | GPU machine verification function officially launched in version 1.0 | Cloud platform function optimization supports mainnet dbc settlement | Universal gpu rental rpc interface version 2.0 is online | Cloud platform function optimization supports mainnet dbc settlement | -| Mainnet rental GPU server function launched | The Council's autonomy function is online | Support artificial intelligence data encryption calculation | The cloud platform supports various operations of virtual machines | | -| | | | Open up the cross-chain bridge to support the free circulation of dbc tokens on the main network and eth chain | | - -## Distribution for DBC Token - -![DBC token distribution plan ](./assets/dbc-applications.assets/dbc_token.png) - -1. The Council is the community-based autonomous center of the future DBC ecosystem - -2. The council will unlock at least 51 million DBC per year - -3. Unlock 4.25 million DBC to the treasury in the middle of every month, starting from 2022 for 15 consecutive years - -4. The council is elected every 2 months - -5. Useage of DBC funds pool: infrastructure deployment and continuous operation; network security operations (monitoring services, continuous auditing), ecological support (cooperation with friendly chains), market activities (advertising, payment, cooperation), community activities and Outreach (meetup, pizza parties, hackerspaces), software development (wallet and wallet integration, client and client upgrades), etc. - -## DBC Foundation - -Founded in 2017, the dbc foundation is mainly responsible for dbc technology development and global ecological construction. The dbc foundation has an annual budget of 49 million dbc. diff --git a/docs/ko/dbc-introduction/dbc-audit-report.md b/docs/ko/dbc-introduction/dbc-audit-report.md deleted file mode 100644 index 585cd48f2..000000000 --- a/docs/ko/dbc-introduction/dbc-audit-report.md +++ /dev/null @@ -1,9 +0,0 @@ -# DBC Audit Report - -## English Version - - - -## Chinese Version - - diff --git a/docs/ko/dbc-introduction/dbc-community.md b/docs/ko/dbc-introduction/dbc-community.md deleted file mode 100644 index 83ef8fc41..000000000 --- a/docs/ko/dbc-introduction/dbc-community.md +++ /dev/null @@ -1,21 +0,0 @@ -# DBC community - -Telegram global:[https://t.me/deepbrainchainglobal](https://t.me/deepbrainchainglobal) - -Telegram Korea:[https://t.me/DeepBrainChainKor](https://t.me/DeepBrainChainKor) - -Telegram China:[https://t.me/dbcwallet](https://t.me/dbcwallet) - -Reddit:[u/DeepBrainChainGlobal](https://www.reddit.com/user/DeepBrainChainGlobal/) - -Medium:[https://deepbrainchainglobal.medium.com/](https://deepbrainchainglobal.medium.com/) - -Kakao:[https://open.kakao.com/o/g4mm83Pd](https://open.kakao.com/o/g4mm83Pd) - -Naver Blog: [https://blog.naver.com/dbc_korea](https://blog.naver.com/dbc_korea) - -YouTube:[https://www.youtube.com/channel/UCE8fSDw-zYrw4OQc62JG_pQ](https://www.youtube.com/channel/UCE8fSDw-zYrw4OQc62JG_pQ) - -Twitter: [https://twitter.com/DeepBrainChain](https://twitter.com/DeepBrainChain) - -Discord: [https://discord.gg/X9gaqGRWVs](https://discord.gg/X9gaqGRWVs) diff --git a/docs/ko/dbc-introduction/dbc-ecology.md b/docs/ko/dbc-introduction/dbc-ecology.md deleted file mode 100644 index 07e1d8b16..000000000 --- a/docs/ko/dbc-introduction/dbc-ecology.md +++ /dev/null @@ -1,17 +0,0 @@ -# DBC Ecology - -DBC Cloud Platform: - -1. Congtu Cloud:[https://www.congtu.cloud](https://www.congtu.cloud) - -2. dbchain: [https://www.dbchain.ai](https://www.dbchain.ai) - -3. 1024lab: [https://www.1024gpu.top/](https://www.1024gpu.top/) - -4. DBC Galaxy Race: [https://galaxyrace.deepbrainchain.org/](https://galaxyrace.deepbrainchain.org/) - -5. DBC wallet: [https://www.dbcwallet.io](https://www.dbcwallet.io) - -6. Blockchain explorer:[https://dbc.subscan.io](https://dbc.subscan.io) - -7. github:[https://github.com/DeepBrainChain](https://github.com/DeepBrainChain) diff --git a/docs/ko/dbc-introduction/dbc-gpu-rent.md b/docs/ko/dbc-introduction/dbc-gpu-rent.md deleted file mode 100644 index e552313eb..000000000 --- a/docs/ko/dbc-introduction/dbc-gpu-rent.md +++ /dev/null @@ -1,11 +0,0 @@ -# Rent GPU - -1.Rent GPU server through cloud platform:[https://www.dbchain.ai](https://www.dbchain.ai). Guide: [rent virtual machine](./rent-virtual.md) - -2.Rent GPU server directly On-chain:[https://deepbrainchain.github.io/DBC-Wiki/en/onchain-guide/rent-machine.html](https://deepbrainchain.github.io/DBC-Wiki/en/onchain-guide/rent-machine.html) - -## GPU virtual machine API interface - -1.Build the client: [https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/Build_client.md](https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/Build_client.md) - -2. Api interface operation: [https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/operate_macine.md](https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/operate_macine.md) diff --git a/docs/ko/dbc-introduction/dbc-hot-link.md b/docs/ko/dbc-introduction/dbc-hot-link.md deleted file mode 100644 index aaae4ace7..000000000 --- a/docs/ko/dbc-introduction/dbc-hot-link.md +++ /dev/null @@ -1,45 +0,0 @@ -# DBC Hot Link - -Vision & Slogan: - -DeepBrain Chain- building the most important computing infrastructure in the era of AI + Metaverse - -Official website: [https://www.deepbrainchain.org](https://www.deepbrainchain.org) - -Mainnet: [https://www.dbcwallet.io/](https://www.dbcwallet.io/) - -Block browser: [https://dbc.subscan.io](https://dbc.subscan.io) - -Video intro: [https://www.youtube.com/watch?v=V6k8ggbBkSk](https://www.youtube.com/watch?v=V6k8ggbBkSk) - -White paper: [https://www.deepbrainchain.org/assets/pdf/DeepBrainChainWhitepaper_en.pdf](https://www.deepbrainchain.org/assets/pdf/DeepBrainChainWhitepaper_en.pdf) - -GitHub (open source): [https://github.com/DeepBrainChain](https://github.com/DeepBrainChain) - -Listed Exchanges: Huobi Global, Huobi Korea, Lbank, Gate.io, Bitbns - -Social Media: - -Telegram: [https://t.me/deepbrainchainglobal](https://t.me/deepbrainchainglobal) - -twitter: [https://twitter.com/DeepBrainChain](https://twitter.com/DeepBrainChain) - -Medium: [https://deepbrainchainglobal.medium.com/](https://deepbrainchainglobal.medium.com/) - -PR: - -yahoo Finance: [https://finance.yahoo.com/news/deepbrain-chain-dbc-mainnet-launching-052000902.html](https://finance.yahoo.com/news/deepbrain-chain-dbc-mainnet-launching-052000902.html) - -CoinDeals: -h[ttps://coindeals.info/metaverse-supported-by-deepbrain-chain-a-distributed-high-performance-computing-network/](ttps://coindeals.info/metaverse-supported-by-deepbrain-chain-a-distributed-high-performance-computing-network/) - -AP News: -h[ttps://apnews.com/press-release/marketersmedia/technology-blockchain-artificial-intelligence-5baa7937549a0f02b1cb0612f9afefa5](ttps://apnews.com/press-release/marketersmedia/technology-blockchain-artificial-intelligence-5baa7937549a0f02b1cb0612f9afefa5) - -Community Governance: - -How to apply funds from DBC Treasury: [https://docs.google.com/document/d/1XgDXhXLpB72D8zmnLK8udkqGTOrcuOKmlKpAyYZivec/edit?usp=sharing](https://docs.google.com/document/d/1XgDXhXLpB72D8zmnLK8udkqGTOrcuOKmlKpAyYZivec/edit?usp=sharing) - -How to participate in Council voting: [https://deepbrainchainglobal.medium.com/how-to-participate-in-council-voting-a-step-by-step-guide-f156ba6cb89f](https://deepbrainchainglobal.medium.com/how-to-participate-in-council-voting-a-step-by-step-guide-f156ba6cb89f) - -How to apply for DBC NFT from DBC Council: [https://deepbrainchainglobal.medium.com/how-to-apply-for-dbc-nft-from-dbc-council-46492cb3f2ea](https://deepbrainchainglobal.medium.com/how-to-apply-for-dbc-nft-from-dbc-council-46492cb3f2ea) diff --git a/docs/ko/dbc-introduction/dbc-introduction.md b/docs/ko/dbc-introduction/dbc-introduction.md deleted file mode 100644 index e0ac306f0..000000000 --- a/docs/ko/dbc-introduction/dbc-introduction.md +++ /dev/null @@ -1,23 +0,0 @@ -# Brief Introduction of DBC - -DeepBrainChain was established in 2017 and launched on huobi in January 2018. DeepBrainChain is distributed computing with GPU as the core, and mainly provides GPU computing services for artificial intelligence, cloud games, movie rendering and other fields. - -At present, we has served hundreds of artificial intelligence and cloud game related companies and more than 20,000 AI practitioners. - -The vision of DBC is to build an infinitely scalable distributed high-performance computing network based on blockchain technology, and become the most important computing infrastructure in the AI+ Metaverse era. DeepBrainChain consists of three important parts: high-performance computing network, blockchain main-network, and GPU computing main-network. After 4 years of research and development, the high-performance computing network was officially launched at the end of 2018, and the blockchain main-network was launched in May 20, 2021. And the GPU computing power mainnet was officially launched on November 22. The main-network of DeepBrainChain is developed based on Polkadot Substrate. DeepBrainChain is also one of the few non-financial projects in the blockchain industry that has achieved large-scale implementation. - -**DBC video introduction in English:** [https://www.youtube.com/watch?v=V6k8ggbBkSkDBC](https://www.youtube.com/watch?v=V6k8ggbBkSkDBC) - -Chinese online press conference: [https://www.chainnode.com/live/34e61432DBC](https://www.chainnode.com/live/34e61432DBC) - -Details in PPT :[https://docs.google.com/presentation/d/1Cno9RDKA8QGTgslx6iWTSMbR2FTtbIJe/edit?usp=sharing&ouid=101819635951334046754&rtpof=true&sd=true](https://docs.google.com/presentation/d/1Cno9RDKA8QGTgslx6iWTSMbR2FTtbIJe/edit?usp=sharing&ouid=101819635951334046754&rtpof=true&sd=true) - -Github:[https://github.com/DeepBrainChain](https://github.com/DeepBrainChain) - -Official website:[www.deepbrainchain.org](http://www.deepbrainchain.org) - -Block explorer:[https://dbc.subscan.io](https://dbc.subscan.io) - -Galaxy Competition:[https://galaxyrace.deepbrainchain.org/](https://galaxyrace.deepbrainchain.org/) - -Biweekly:[https://deepbrainchainglobal.medium.com/](https://deepbrainchainglobal.medium.com/) diff --git a/docs/ko/dbc-introduction/dbc-profit-trade.md b/docs/ko/dbc-introduction/dbc-profit-trade.md deleted file mode 100644 index 5ab3f6a1d..000000000 --- a/docs/ko/dbc-introduction/dbc-profit-trade.md +++ /dev/null @@ -1,38 +0,0 @@ -# How to get DBC or trade DBC - -## How to get DBC - -1. Buy DBC in Exchange : huobi, gate, lbank, uniswap - -2. Become validator node and get reward:[https://deepbrainchain.github.io/DBC-Wiki/staking-model/join-dbc-network.html](https://deepbrainchain.github.io/DBC-Wiki/staking-model/join-dbc-network.html) - -3. Participate in as nominator to get rewards :[https://deepbrainchain.github.io/DBC-Wiki/staking-model/staking-dbc-and-voting.html](https://deepbrainchain.github.io/DBC-Wiki/staking-model/staking-dbc-and-voting.html) - -4. Get rewarded by deploying GPU servers :[https://deepbrainchain.github.io/DBC-Wiki/install-update-dbc-node/install-update-dbc/install-dbc-compute-node.html](https://deepbrainchain.github.io/DBC-Wiki/install-update-dbc-node/install-update-dbc/install-dbc-compute-node.html) - -5. Apply for DBC Treasury Awards:[https://docs.google.com/document/d/1XgDXhXLpB72D8zmnLK8udkqGTOrcuOKmlKpAyYZivec/edit?usp=sharing](https://docs.google.com/document/d/1XgDXhXLpB72D8zmnLK8udkqGTOrcuOKmlKpAyYZivec/edit?usp=sharing) - -## Trading DBC - -1. Centralized trading - - - huobi:[https://www.huobi.com/zh-cn/exchange/dbc_btc](https://www.huobi.com/zh-cn/exchange/dbc_btc) - - - gate: [https://www.gate.tv/cn/trade/DBC_USDT](https://www.gate.tv/cn/trade/DBC_USDT) - - - lbank: [https://www.lbank.info/exchange/dbc/usdt/#usd](https://www.lbank.info/exchange/dbc/usdt/#usd) - -2. Decentralized trading - DBC deployed smart contract in erc20、bep20、heco. All smart contract address is: `0x1F735f84b07cc20E9aC471C291a87b5A2428d518`. The following three exchanges have dbc-usdt trading pair - - - uniswap: [https://app.uniswap.org/#/swap](https://app.uniswap.org/#/swap) - - - sushiswap: [https://app.sushi.com/en/swap](https://app.uniswap.org/#/swap) - - - pancakeswap: [https://pancakeswap.finance/swap](https://app.uniswap.org/#/swap) - -3. DBC Wallet - - - Official Mainnet Wallet:[https://www.dbcwallet.io](https://www.dbcwallet.io) - - - Math Wallet:[https://mathwallet.org/polka/#/dbc](https://mathwallet.org/polka/#/dbc) diff --git a/docs/ko/dbc-introduction/rent-virtual.md b/docs/ko/dbc-introduction/rent-virtual.md deleted file mode 100644 index a4fbb4e41..000000000 --- a/docs/ko/dbc-introduction/rent-virtual.md +++ /dev/null @@ -1,61 +0,0 @@ -# Virtual Machine Rental Tutorial - -## 1. Register the wallet - -Go to the My Wallet page --> Click the Create Wallet Account button and follow the prompts to complete the operation - -![](./assets/rent_virtual.assets/rentvir_01.png) - -## 2. Buy DBC - -When renting a virtual machine, you need a certain amount of DBC in the wallet. One DBC is currently less than 3 cents. Click How to buy DBC and enter the purchase - -![](./assets/rent_virtual.assets/rentvir_02.png) - -::: warning -DBC is not a point, it is a digital currency, and its price fluctuates all the time. After purchasing DBC, it can not only be used on the current website, but also can be transferred to other wallets or digital currency exchanges that support DBC, such as the following Figure, you can transfer to any other DBC wallet address, when the transfer is done, DBC will no longer belong to you, but to the owner of this wallet address. -::: - -![](./assets/rent_virtual.assets/rentvir_03.png) - -## 3. Lease a virtual machine - -Enter the rental virtual machine page, the left side is the GPU model classification information of the existing machine, and the right side shows the machine details under the specific GPU model, such as GPU model, GPU quantity, video memory, daily rent, etc. Among them, the ways of renting virtual machines are single renting virtual machines and batch renting virtual machines, and users can use them flexibly according to their own needs. - -![](./assets/rent_virtual.assets/rentvir_04.png) - -##### 1. Single leased virtual machine - -Click the rent a virtual machine button in the machine list, a pop-up box will pop up, fill in the rental duration by yourself, and the total required amount and the corresponding DBC quantity will be displayed, as well as relevant reminders. After confirming that the information is correct, click the Confirm payment button to start renting and changing the machine. , wait for about 30S, when the lease is successful, go to My Machine --> My GPU Virtual Machine page to view the relevant lease information - -![](./assets/rent_virtual.assets/rentvir_05.png) - -##### 2. Leasing virtual machines in batches - -Click the batch leasing interface, a multi-select box will appear, select the machine you want to rent, click Confirm to submit, and fill in the rental duration. At this time, the total required amount and the corresponding DBC quantity will be displayed, as well as relevant reminders. After confirming that the information is correct, click Confirm Click the Pay button to start renting the changed machine. When the lease is complete, it will jump to the My Machine --> My GPU Virtual Machine page to view the relevant rental information. - -![](./assets/rent_virtual.assets/rentvir_06.png) - -## 4. My machine - -Go to My Machine --> My GPU Virtual Machine page to display the virtual machine order information under the current wallet. The virtual machine order shows a total of four states: pending confirmation, in use, order ended, order canceled, and refunding coins. in, please wait (only before order cancellation status) - -##### 1. To be confirmed rental - -After renting a machine from the rental virtual machine page, a rental order to be confirmed will be generated. At this time, there will be a 30-minute rental confirmation time, which can be used to create a virtual machine and verify whether the machine is available. If the creation is successful, you can click Confirm rental. The order becomes in-use status. If the creation fails, no operation is required. After 30 minutes, the order becomes the order cancellation status, and the remaining DBC will be credited to the payment account. - -![](./assets/rent_virtual.assets/rentvir_07.png) - -##### 2. In use - -After clicking the Confirm Lease button, the order becomes in-use status. At this time, operations such as creating a virtual machine and renewing fees can be performed. The page displays the amount of DBC to be paid, the used time, and the remaining time. After the machine expires, the order becomes an order. In the end state, the virtual machine information created by the user while in use will be retained for 10 days, and the virtual machine information will be automatically deleted after 10 days. - -![](./assets/rent_virtual.assets/rentvir_08.png) - -## 5. Sell DBC - -Bought a lot of DBC, but not used up, you can choose to sell DBC, of course you can choose to keep it in your wallet, but keep it in your wallet, the price of DBC is always fluctuating, it may rise or fall, you need to do it yourself Good judgment, can bear the fall losses. If you want to sell DBC, go to My Wallet page, click How to sell DBC, you can learn about the selling rules - -![](./assets/rent_virtual.assets/rentvir_09.png) - -![](./assets/rent_virtual.assets/rentvir_10.png) diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/1.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/1.png deleted file mode 100644 index 1fa6221b0..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/1.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay1.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay1.png deleted file mode 100644 index 9b69767e0..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay1.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay2.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay2.png deleted file mode 100644 index defdd6094..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay2.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay3.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay3.png deleted file mode 100644 index d3ad2d80b..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/alipay3.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/detail.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/detail.png deleted file mode 100644 index 454e7386e..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/detail.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/error1.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/error1.png deleted file mode 100644 index 8a50f43b1..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/error1.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal1.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal1.png deleted file mode 100644 index 4a3eef76d..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal1.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal2.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal2.png deleted file mode 100644 index eb7ed56ff..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal2.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal3.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal3.png deleted file mode 100644 index 690718f49..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/paypal3.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/signle.png b/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/signle.png deleted file mode 100644 index 25732d8aa..000000000 Binary files a/docs/ko/gpu-cloud/assets/dbc-gpu-cloud-service.assets/signle.png and /dev/null differ diff --git a/docs/ko/gpu-cloud/dbc-gpu-cloud-service.md b/docs/ko/gpu-cloud/dbc-gpu-cloud-service.md deleted file mode 100644 index c04f0233c..000000000 --- a/docs/ko/gpu-cloud/dbc-gpu-cloud-service.md +++ /dev/null @@ -1,700 +0,0 @@ -# DBC GPU Cloud Service English description - -![](./assets/dbc-gpu-cloud-service.assets/detail.png) - -## Preface: - -- The following content is only for demonstration use cases. For specific implementation, please install the appropriate software version according to your own situation, and pay attention to the relevant middleware vulnerability information in time to upgrade or repair to prevent malicious attacks. - -## 1. Database deployment - -### Install & setup database - -```bash -#1. Download: - - curl -O -#2. Unzip: - - tar -zxvf mongodb-linux-x86_64-3.0.6.tgz -#3. Copy the decompressed package to the specified directory: - -mkdir /data -mkdir /data/mongodb -mongodb-linux-x86_64-3.0.6/ /data/mongodb -#4. Set environment variables: - -sudo echo "export PATH=/data/mongodb/bin:$PATH" >> /etc/profile -source /etc/profile -#5. Create the database directory: - - mkdir -p /data/db mkdir -p /data/db/master -#6. Create: /etc/mongod.conf Add authorization (so the database requires a password to log in) - -storage: - dbPath: /data/db/master - journal: -enabled: true - -net: - port: 27017 - bindIp: 0.0.0.0 - -security: - authorization: enabled -#7. Create admin and identifier databases and set passwords - - 1) mongod --dbpath /data/db/master, then mongo - 2) use admin - 3)db.createUser({ user: "admin", pwd: "*****", roles: [{ role: "root", db: "admin" }] }) - 4) db.shutdownServer() - 5) screen -S mongod - 6) mongod --config /etc/mongod.conf (the mongod.conf file needs to be configured in advance) If you want to configure automatic database backup of 2 different servers, - Then use the command: mongod --master --slave --autoresync --config /etc/mongod.conf --source ip:27017 - 7) mongo, then use admin, then db.auth('admin','******'), - 8) use identifier - 9)db.createUser({user: "dbc", pwd: "*******", roles: [ { role: "dbOwner", db: "identifier" } ]}) - 10) #Set the markup rule, percentage_signle is the markup size of a single rental virtual machine, percentage_whole is the markup size of the rental machine, the parameter is followed by a number, 1 is 1%, and the example is 40% - db.DBCPercentage.insert({ _id: 'percentage',percentage_signle: 40, percentage_whole: 50 }) - 11) #to see if the setting takes effect - db.DBCPercentage.find({}).toArray() -``` - - - -## 2.Build DBC client - -```bash -#Install DBC client -Installation Environment - -apt-get install libvirt-clients libvirt-daemon-system - -1. Download the installation script: - -Download the install_client.sh script file in it - -2. Add execution permission to the install_client.sh script file: Execute on the command line: chmod +x install_client.sh - -3. Run the installation script: Execute on the command line: ./install_client.sh [installation directory] - -During the installation process, the user will be asked to enter 2 port numbers,for example:net_listen_port=5001,http_port=5002 - -#Upgrade DBC client -1. Download the upgrade script: - -Download the update_client.sh script file in it - -2. Add execution permission to the update_client.sh script file: Execute from the command line: chmod +x update_client.sh - -3. Run the upgrade script: Execute on the command line: ./update_client.sh [original client installation directory] -``` - -## 3.Deploy the web environment - -```bash -#Download the code to the local or server (note: the code under the master branch may be a beta version, please refer to the latest version of tags when deploying) -1. Clone the code -#Clone the code to the local or server via git clone link address https://github.com/DeepBrainChain/DBChainWebsite.git, run -git clone https://github.com/DeepBrainChain/DBChainWebsite.git - -#Query all tags -git tag - -#Switch tag code -git checkout - -#Check if Node is installed, run the following command to check if Node is installed globally -node -v //v16.13.0 - -#After the installation is complete, open the DBChainWebsite folder and run the following command to generate the node_modules file -npm install - -#After the execution is successful, run the following command to start the web page locally to run the cloud platform for testing. -npm run serve - -2. Modify the cloud platform logo pattern configuration -#Open the folder src--> locales --> CN.js && EN.js && RU.js, set the website_name field to the name of your cloud platform, run it locally to view -#Modify website_name - -export default { - ··· - website_name: 'dbchain', // dbchain, 1024lab, tycloud - ··· -} - -3. Configure the interface access domain name -#Open the folder src--> api --> index.js, configure the server interface configured by yourself, you can modify the node interface you belong to to access the domain name -#Modify the file, use nodeHost - -const nodeHost = 'https://xxxxxx' //nodejs server address - -4. Modify the access chain address -#Open the folder src--> utlis --> dot --> api.ts && index.ts , configure the access chain -const node = { - ··· - dbc: 'wss://info.dbcwallet.io' // Official public chain - ··· -} - -5. Generate a dist file to deploy the server -#Open the DBChainWebsite folder, run the following command to generate the dist folder (under the DBChainWebsite folder), put the dist folder in the specified server file, and configure nginx to specify the index.html file in the dist file to access the page -npm run build -``` - -## 4.Deploy Node service - -```bash -#clone code - -#Clone the code to the local or server through git clone link address https://github.com/DeepBrainChain/DBC-NodeScript.git -git clone https://github.com/DeepBrainChain/DBC-NodeScript.git - -### deploy code - -#After the code is cloned, you can use the forever plugin to create a scheduled task, run the node code in the server background, and access the corresponding interface by adding the IP address to the server port number that starts router.js. -Server installation node example: -For example of forever deployment, please refer to: -(Note: After installing forever, if it is not found, you can use npm list -g --depth 0 to find the installation directory of the forever folder, enter the forever/bin/ directory and connect the forever to /usr/bin/forever for global use) -#Check if node and forever are installed successfully, execute the following commands -node -v // v16.13.0 -forever --version // v4.0.1 - -#After the execution is correct, enter the DBC-NodeScript folder and run the following command to generate the node_modules folder under the folder -npm install - -#After the execution is correct, open the publicResource.js file in the DBC-NodeScript folder and modify the relevant configuration information -export const wssChain -export const baseUrl -export const mongoUrlSeed -export const walletInfo -export const designatedWallet -#Note: mongoUrlSeed and walletInfo are encrypted strings, which need to be generated in advance, and the generation rules and methods need to contact relevant technical personnel - -#Enter the DBC-NodeScript\HttpRequest folder and execute -forever start -o http-out.log -e http-err.log router.js //Start the server service of nodejs - -#At this point, router.js has been mounted to the background to run, the server service is started, and the interface can be accessed at this time -nodeHost = http://xxx.xxx.xxx.xxx:8090 - -#Enter the DBC-NodeScript\TimedTask folder, run the js file in the folder, start the scheduled task, and update the database information in real time, for example: -forever start -o ver-out.log -e ver-err.log VerificationMachine.js -#Note: All files in the TimedTask folder must be run, otherwise the database data will not match the actual data -``` - -The following section explains the directory: - -### HttpRequest directory - -- For writing detailed interface content for interacting with the front end - - - **api.js** - - - define express routes - - ``` - /** - * Define routes to facilitate identification of corresponding modules - * Export the routing module, reference it in the router.js file - */ - export const Select = express.Router() - - ``` - - - Create a route corresponding interface - - ``` - Select.get('/', (request, response , next) => { - ****** - Call the database, process and return the data - ****** - }) - - ``` - - - **router.js** - - - Define request information - - set request headers - - ``` - /** - * Import the routing module in api.js - * Set the request header and start the server service - */ - // use router - serve.use('/api/select', Select) - - ``` - - - start the server service - - ``` - serve.listen(8090, ()=>{ - console.log('Server startup completed'); - }) - - ``` - -### TimedTask directory - -- **Used to create a js file that only interacts with the database, and regularly request data to be stored in the database, so that the data can be updated in time** - -### testScript directory - -- **Used to create node executable scripts for testing purposes only** - -### publicResource.js - -- **For public basic information configuration, pay attention to modify** - -``` -/** - * wssChain call chain name - */ -export const wssChain = { - dbc: 'wss://info.dbcwallet.io' -} - -/** - * baseUrl c++ port - */ -export const baseUrl = '' // The dbc client ip and port number in step 3 - -/** - * Connect to mongo database - */ - -export const mongoUrlSeed = 'ba22370884954c456be7fc10cbae7a652fbadfb64e4ab9aab4a8a944f1f8ea052abc8968bfdb05ac1dc0f0842872089e' // Server access mongo encrypted field - -/** - * Wallet data - */ -export const walletInfo = '16c2efe71e094d0b3dd7b319da9c6a636cc0c7740cb6e900a40220fc3b77ec8f22a99f79' // Server access wallet encryption field - -/** - * Define a wallet for renting a machine for income - */ -export const designatedWallet = '5F7L9bc3q4XdhVstJjVB2o7S8RHz2YKsHUB6k3uQpErTmVWu' // The dbc revenue part paid -//by the user will enter this wallet, which needs to be replaced with your own wallet address - -``` - -## 5.Deploy Nginx service - -```bash -# Install Nginx -sudo apt install nginx -y - -# configure nginx -mkdir /etc/nginx/gpucloud //Upload the ssl certificate to this folder -mkdir /etc/nginx/gpucloud.conf -sudo vim /etc/nginx/gpucloud.conf - -#The example is as follows, please change it according to your own environment, for reference only -# If it is two hosts, please do load balancing - -server{ - - listen 443; - server_name nodejs.xxxx.xxxx; - ssl on; - - ssl_certificate cert/gpucloud/example.crt; - ssl_certificate_key cert/gpucloud/example.key; - ssl_session_timeout 5m; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - - location / { - - proxy_pass http://ip:8090; #nodejs server ip and port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - - } - - - } - - -server { - listen 80; - server_name nodejs.xxxx.xxxx; - - location / { - - proxy_pass http://ip:8090; #nodejs server ip and port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - } - - - } - -server{ - - listen 443; - server_name dbcnode.xxxx.xxxx; - ssl on; - - ssl_certificate cert/gpucloud/example.crt; - ssl_certificate_key cert/gpucloud/example.key; - ssl_session_timeout 5m; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - - location / { - - proxy_pass http://ip:5002; #dbc client node ip and port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - - } - - - } - - -server { - listen 80; - server_name dbcnode.xxxx.xxxx; - - location / { - - proxy_pass http://ip:5002; #dbc client node ip and port - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - } - - - } - - -server { - listen 443; - server_name www.xxxx.xxx; #gpu cloud website url - ssl on; - - ssl_certificate cert/gpucloud/example.crt; - ssl_certificate_key cert/gpucloud/example.key; - ssl_session_timeout 5m; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - - location / { - - root /data/dbc-website; - try_files $uri $uri/ /index.html; - index index.html index.htm; - - } - location = /50x.html { - root html; - } - error_page 500 502 503 504 /50x.html; - - } - -server { - listen 443; - server_name xxxx.xxx; #gpu cloud website url ,no include www - ssl on; - - ssl_certificate cert/gpucloud/example.crt; - ssl_certificate_key cert/gpucloud/example.key; - ssl_session_timeout 5m; - ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_prefer_server_ciphers on; - - location / { - - root /data/dbc-website; - try_files $uri $uri/ /index.html; - index index.html index.htm; - - } - location = /50x.html { - root html; - } - error_page 500 502 503 504 /50x.html; - - } - - -server { - listen 80; - server_name xxxx.xxx; - return 301 http://www.xxxx.xxx$request_uri; -} - - -server { - listen 80; - server_name www.xxxx.xxx; - rewrite ^(.*)$ https://${server_name}$1 permanent; - - } - - - -# Check if Nginx is configured correctly -sudo nginx -t - -# start and set the boot time -sudo nginx -s reload -sudo systemctl start nginx -sudo systemctl enable nginx -``` - -## 6.Paypal related documents - -### Register a Paypal account - -- Register a Paypal account (individual companies are not limited) [https://www.paypal.com/c2/home](https://www.paypal.com/c2/home) -- Login to paypal developer website [https://developer.paypal.com/developer/applications/](https://developer.paypal.com/developer/applications/) - -### Get Client ID and Secret - -- Go to the developer page, as shown below, select the Live option, click the Create App button, and create an application to receive REST API credentials for testing and live transactions. - ![](./assets/dbc-gpu-cloud-service.assets/paypal1.png) -- Create an App according to the prompts on the page. After the operation is completed, you will generate your own App, as shown in the figure below, you can view your Client ID & Secret - ![](./assets/dbc-gpu-cloud-service.assets/paypal2.png) - -### Modify the relevant Paypal parameters in the cloud platform - -Open the folder src--> views --> trade_io --> buy_3.vue, modify the fields in it, where sandbox is the sandbox beta version, and production is the official online version - -``` -// Modify credentials, boxEnv - -// Fill in the Client ID obtained in step 2 -credentials: { - sandbox: '', // Sandbox beta version, on the official environment, you can leave this option blank - production: '' // On the official version, the official environment is required. -}, -boxEnv: 'sandbox', // Sandbox Beta: sandbox, Production: production -``` - -![](./assets/dbc-gpu-cloud-service.assets/paypal3.png) - -### Modify the Paypal parameters related to the node server - -Open the folder DBC-NodeScript-->publicResource.js - -``` -// Modify paypalUrl -/** - * paypal access domain name - */ - export const paypalUrl = 'https://api-m.sandbox.paypal.com' // Sandbox beta version -// export const paypalUrl = 'https://api-m.paypal.com' // official version -``` - -### Database configuration - -- Set up the contractwallet collection (storing the contract wallet address and private key for transfer) -- Set paypalInfo collection (store CLIENT_ID and SECRET required for paypal query) - -``` -// contractwallet collection -db.contractwallet.insert({ - _id:'contractwallet', // Cannot be modified, fixed _id is 'contractwallet' - "wallet":'your wallet', // Wallet address for transfer - "seed":'your seed' // The wallet address private key used for transfer -}) - -// paypalInfo collection -db.paypalInfo.insert({ - _id:'paypal', // Cannot be modified, fixed _id is 'paypal' - "Client_ID":'your Client_ID', // Client_ID corresponding to your app - "Secret":'your Secret' // Secret corresponding to your app -}) -``` - -## 7、Alipay related documents - -### 1.Log in to Alipay developer platform - -- Open Alipay Open Platform - Console [https://open.alipay.com/develop/manage](https://open.alipay.com/develop/manage) -- Select the webpage/mobile application column, click the Create webpage/mobile application button, and follow the prompts to complete the application creation operation - ![](./assets/dbc-gpu-cloud-service.assets/alipay1.png) - -### 2.Get the data required for payment - -- Obtain the required access data through the official sample document [https://ideservice.alipay.com/devflow/intelliAssist/page/SC00002446?projectId=670000105#lastFinish](https://ideservice.alipay.com/devflow/intelliAssist/page/SC00002446?projectId=670000105#lastFinish) - ![](./assets/dbc-gpu-cloud-service.assets/alipay2.png) - -### 3. Check if the environment is well prepared - -- After the creation of step 2 is completed, you can check whether the application has the ability to be officially used through step 3 - account and application preparation in the following figure - ![](./assets/dbc-gpu-cloud-service.assets/alipay3.png) - -### 4.Modify the corresponding configuration file - -- Open the folder src--> locales --> CN.js && EN.js && ES.js && FR.js, set the showAliPay field to 0 or 1 - -``` -#modifyshowAliPay -export default { - ··· - showAliPay: '0', // Whether to display Alipay payment 1 display 0 not display - ··· -} -``` - -### 5. Modify the Alipay parameters related to the node server - -- Open the folder DBC-NodeScript-->publicResource.js - -``` -// Modify AlipaySdk configuration - -export const alipaySdk = new AlipaySdk.default({ - appId: 'your appId', - signType: 'RSA2', - gateway: 'https://openapi.alipay.com/gateway.do', - alipayPublicKey: 'your alipayPublicKey', - privateKey: 'your privateKey', -}); -``` - -## 8. Lease a single virtual machine - -### Update node and web to the latest version (re-pull the latest code) - -::: warning - -The re-pulled files need to be re-executed `npm install` in the folder - -In the `HttpRequest` under the node folder, just use forever to start `router.js`, and all js files under `TimedTask` must be started - -::: - -### Preparation: - -- Rent a whole machine on the chain ([Reference link](https://deepbrainchain.github.io/DBC-Wiki/onchain-guide/rent-machine.html)) - -- Query session_id information ([The third type in the reference link](https://deepbrainchain.github.io/DBC-Wiki/install-update-dbc-node/dbc-client-api/http-request-format.html)) - -- Create network ([Reference link](https://deepbrainchain.github.io/DBC-Wiki/install-update-dbc-node/dbc-client-api/http-api.html#%E8%99%9A%E6%8B%9F%E6%9C%BA%E7%BB%84%E7%BD%91)) - -- View rent_end block height(Note that the comma should be removed when the obtained rent_end is saved: 1021788) - -![](./assets/dbc-gpu-cloud-service.assets/signle.png) - -### Add the above information to the database: - -- Set up a virMachine collection (stores machine information for renting a single GPU) - -``` -// virMachine Collection -db.virMachine.insert({ - "_id": "virtual_machine_list", - "machineList": [ - { - "machine_id": "machine_id", - "session_id": "sessionid", - "session_id_sign": "session_id_sign", - "rent_end": "block height", - "network_name": "network name" - }, - { - "machine_id": "machine_id", - "session_id": "sessionid", - "session_id_sign": "session_id_sign", - "rent_end": "block height", - "network_name": "network name" - } - ] -}) -``` - -## 9. Summary of the problem - -### 1.start.log reports an error: map is null: - -- Access address with server:[http://api.map.baidu.com/reverse_geocoding/v3/?ak=jQc7i76SLm2k5j54z5y6ppjWjhb0nlhC&output=json&coordtype=wgs84ll&location=](http://api.map.baidu.com/reverse_geocoding/v3/?ak=jQc7i76SLm2k5j54z5y6ppjWjhb0nlhC&output=json&coordtype=wgs84ll&location=37.404704734328,127.10515530866) (location=latitude, longitude) -- Unable to access address, execute: - -``` - echo "nameserver 8.8.4.4" | sudo tee /etc/resolv.conf > /dev/null -``` - -- ping 111.206.208.72 -- ping api.map.baidu.com -- Can ping 111.206.208.72 but can't ping api.map.baidu.com,Configure in /etc/hosts: - -``` -111.206.208.72 api.map.baidu.com -``` - -### 2.The dbc client cannot connect to the mainnet - -- Add a node to conf/peer.conf in the installation directory: peer=116.169.53.134:5002, restart dbc -- Error in dbc log: check whether the port is open or occupied - ![](./assets/dbc-gpu-cloud-service.assets/error1.png) diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/connect.png b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/connect.png deleted file mode 100644 index b5d25df76..000000000 Binary files a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/connect.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/create_win.png b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/create_win.png deleted file mode 100644 index 8950d0c6d..000000000 Binary files a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/create_win.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/face_info.png b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/face_info.png deleted file mode 100644 index 56629c087..000000000 Binary files a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/face_info.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/find_machine.png b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/find_machine.png deleted file mode 100644 index 439f5b4bd..000000000 Binary files a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/find_machine.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/install.png b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/install.png deleted file mode 100644 index 8bd3b9bad..000000000 Binary files a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/assets/install.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/create-win-machine-omniverse.md b/docs/ko/install-update-dbc-node/create-win-machine-omniverse/create-win-machine-omniverse.md deleted file mode 100644 index e21415e32..000000000 --- a/docs/ko/install-update-dbc-node/create-win-machine-omniverse/create-win-machine-omniverse.md +++ /dev/null @@ -1,124 +0,0 @@ -# windows가상기기 만들기(omniverse응용) - ---- - -## 단계1 : 임대 확정 기기 - -- 메인넷 지갑 열기 - -https://www.dbcwallet.io/?rpc=wss://info.dbcwallet.io#/explorer - -- 지갑 만들기:계정-->계정추가 (니모닉 워드는 꼭 잘 보관하세요, 니모닉 워드 분실 경우 계정도 다시 찾을수 없습니다, 코인도 분실됩니다) - -- 갤럭시레이스목차 클릭하여, 필요한 유휴기기 찾습니다. - -https://galaxyrace.deepbrainchain.org/table - -![find_machine](./assets/find_machine.png) - -## 단계2:온첸인 기기 임대 - -- 개발자---거래---rentMachine ----rentMachine(machine_id, duration) 순차적 클릭 - -- machine_id 임대할 기기id 입력,입력 칸 안에 0x 우선 삭제 필요합니다 - -- duration임대 일수 입력 - -- 입력 완료 후 거래 제출 클릭, 30분안에 기기 사용 가능여부 확인. ( 30분내 임대 확인 불가이면, 지불한 dbc는 환불 됩니다 . 하지만 거래 수수료 10개 dbc는 환불 불가입니다 ) - -- windows 가상기기 만들기: - -방식 요청 :POST - -URL 요청:http://:/api/v1/tasks/start - -body 요청 : - -```json -{ - "peer_nodes_list": [ - // 기기의node_id 요청 - "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" - ], - - "additional": { - "ssh_port": "", - //원격등록시 인지한 포트(가상기기별 다른 값 설정) - "rdp_port": "3389", - //가상기기 이미지명(가상기기 혹은 이미지 관리중심에 이미지명 보유 확보) - "image_name": "windows_1909.qcow2", - // 데이터디스크 이름 입력(입력 안해도 됩니다, dbc입력안하면, 인지한 형식은data_1_.qcow2의 이름 존재 , 입력하면, 파일 존재여부 검사,존재하면 데이터디스크는 파일의 예.qcow2형식 존재) - "data_file_name": "", - // gpu수량( 0보다 크거나 같음) - "gpu_count": "1", - // cpu수량(0보다 큰) - "cpu_cores": "8", - // 메모리 사이즈(0보다큰,단위:G) - "mem_size": "32", - // 디스크 사이즈(0보다 큰,단위:G) - "disk_size": "1", - // vnc사용하여 가상기기 포트 넘버 연결 (가상기기 별 다른 값 설정) - "vnc_port": "5907", - // windowns 시스템(필수) - "operation_system": "win10", - "bios_mode": "uefi", - "vm_xml": "", - "vm_xml_url": "" - }, - "session_id": "임대자 배포한session_id", - "session_id_sign": "임대자 배포한session_id_sign" -} -``` - -예 : -![create_win](./assets/create_win.png) - -- 설정에 따라 만드는 과정 시간 차이가 있습니다,대략 5분에서 15분사이에 완성 됩니다 - -- 가상기기 상세 정보 요청 통해 , 가상기기 등록방식 및 가상기기 현재 상태 확인할 수 있습니다 (상태값이"creating'일경우, 가상기기 현재 만드는 중으로 의미됩니다 ) - -관련 작업 참고: - -https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/create_macine.md - -## 단계 3:가상기기 원격 연결 - -- 가상기기 등록 방식 확인후,현지에서 원격연결 열기 - - ![connect](./assets/connect.png) - -## 단계4: 사용가능 확인 후 임대 - -::: warning -확인전 가상기기 정상 작동 여부 꼭 확인하세요 . 임대확인 완료 후 기기 임대완료 되며,DBC임대료는 환불 안됩니다 -::: - -- 개발자----거래----rentMachine----confirmRent(machine_id)순차적으로 진행하세요 - -- 기기 id 입력 및 거래 제출 하세요 - -## 단계 5: omniverse다운로드 Audio2Face설치 - -- NVIDIA홈페이지 열어 NVIDIA omniverse다운 받습니다 :https://www.nvidia.cn/omniverse/# - -- 홈페이지 문서참고하여 설치 하십시오:EXCHANGE(거래소),Apps(응용)부분에서 Audio2Face찾음,이후 순차적으로 “Install”(설치)및“Launch”(작동)설치합니다。 - - ![install](./assets/install.png) - -- 작동후 ,기본인지 아바타와 함께 제공되는 음성 및 템플릿 파라미터를 볼수있습니다 (템플릿 엔진을 로드하는데 몇분 정도 소유 됩니다 ) - -더많은 관련 작업 참고: - -https://docs.omniverse.nvidia.com/app_audio2face/app_audio2face/overview.html - -![face_info](./assets/face_info.png) - -단계 6: 기기 추가 임대 - -::: warning -기기 만료되면 가상기기는 자동으로 중지됩니다,만료되기 전에 추가 임대가 하십시오 -::: - -- 개발자----거래----rentMachine----reletMachine(machine_id, add_duration) 순차적 클릭 - -- 기기id 및 추가 임대 일수 입력, 거래 제출합니다 diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/create_task.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/create_task.png deleted file mode 100644 index 227ac42b2..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/create_task.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/delete_task.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/delete_task.png deleted file mode 100644 index 445a00d7c..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/delete_task.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/import_postman_json.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/import_postman_json.png deleted file mode 100644 index 8332b998d..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/import_postman_json.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/list_task.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/list_task.png deleted file mode 100644 index 0c9463a56..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/list_task.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_machine_info.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_machine_info.png deleted file mode 100644 index ef91ad715..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_machine_info.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_session_id.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_session_id.png deleted file mode 100644 index 647d6dd83..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_session_id.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_task_info.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_task_info.png deleted file mode 100644 index 4787c87ec..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/query_task_info.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/session_id_sign.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/session_id_sign.png deleted file mode 100644 index a8461402f..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/session_id_sign.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png deleted file mode 100644 index 0752bfcae..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/all_images.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png deleted file mode 100644 index 063486d8e..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/create_snap.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/session b/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/session deleted file mode 100644 index 8b1378917..000000000 --- a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/session +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png deleted file mode 100644 index c2836f5dc..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/snap_mirror_manage.assets/snap_list.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/start_task.jpg b/docs/ko/install-update-dbc-node/dbc-client-api/assets/start_task.jpg deleted file mode 100644 index 1dfe5d9c3..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/start_task.jpg and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/stop_task.jpg b/docs/ko/install-update-dbc-node/dbc-client-api/assets/stop_task.jpg deleted file mode 100644 index 38467ce41..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/stop_task.jpg and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/assets/wallet_sign.png b/docs/ko/install-update-dbc-node/dbc-client-api/assets/wallet_sign.png deleted file mode 100644 index 2d71f3f4a..000000000 Binary files a/docs/ko/install-update-dbc-node/dbc-client-api/assets/wallet_sign.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/http-api.md b/docs/ko/install-update-dbc-node/dbc-client-api/http-api.md deleted file mode 100644 index 976a81f36..000000000 --- a/docs/ko/install-update-dbc-node/dbc-client-api/http-api.md +++ /dev/null @@ -1,1325 +0,0 @@ -# HTTP client request API - -#### ( The dbc_client_ip and dbc_client_port in the following HTTP request are the DBC client access addresses deployed by the user ) - ---- - -## GPU Node Manage - -### 1. Querying GPU Node Machine Configuration Information - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/mining_nodes -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {} -> } -> ``` -> -> Example: -> - -
- -### 2. Tenant query to get session_id - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/mining_nodes/session_id -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> -> }, -> //Identity authentication information, use tenant signature or multi-signature account signature (refer to the description of HTTP request format), choose one of the two -> ... -> } -> ``` -> -> Example (the tenant's signature is used here, and a multi-signature account signature can also be used): -> - -
- -## Virtual Machine Manage - -### 1. Create a virtual machine - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/start -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> // 镜像名字 -> "image_name": "ubuntu.qcow2", -> // 描述 -> "desc": "...", -> // 操作系统类型: linux、windows (默认值:linux) -> "operation_system": "linux", -> // 引导方式:(默认值:legacy) -> // linux系统设置: legacy -> // windows系统设置: uefi -> // pxe方式: pxe -> "bios_mode": "legacy", -> // 远程登录linux虚拟机,ssh端口号(linux) -> "ssh_port": "5684", -> // 远程登录windows虚拟机,rdp端口号(windows) -> "rdp_port": "5685", -> // vnc连接端口号 -> "vnc_port": "5904", -> //自定义端口映射 -> // [ -> // 宿主机的123转发到虚拟机的123 -> // "tcp/udp,123", -> // 宿主机的111转发到虚拟机的222 -> // "tcp/udp,111:222", -> // 宿主机的333-444转发到虚拟机的444 -> // "tcp/udp,333-444", -> // 宿主机的[555-666]转发到虚拟机的[777-888] -> // "tcp/udp,555-666:777-888" -> // ] -> "custom_port": [], -> -> // gpu数量(大于等于 0) -> "gpu_count": "2", -> // cpu数量(大于0) -> "cpu_cores": "8", -> // 内存大小(大于0,单位:G) -> "mem_size": "8", -> // 磁盘大小(大于0,单位:G) -> "disk_size": "10", -> // 已存在的数据盘文件(如:xxx.qcow2) -> "data_file_name": "xxx.qcow2", -> -> // 不同虚拟机之间互相传输的组播地址,范围为224.0.0.0~239.0.0.0 -> // 添加多组播地址续在括号中用","相隔,也可不填 -> "multicast": ["230.0.0.1:5558"], -> //内网名称(创建虚拟机网络时填的名称) -> "network_name": "test", -> // 公网ip地址 -> "public_ip": "", -> // 安全组 -> // [ -> // 使 TCP 端口 22 (ssh) 和 3389 (rdp) 可访问 -> // "in,tcp,22,0.0.0.0/0,accept", -> // "in,tcp,3389,0.0.0.0/0,accept", -> // 接受所有流出虚拟机的流量 -> // "out,all,all,0.0.0.0/0,accept", -> // 丢弃其他所有流入虚拟机的流量 -> // "in,all,all,0.0.0.0/0,drop" -> // ] -> "network_filters": [] -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> Example: -> - -- The length of the creation process will vary depending on the configuration, ranging from five to fifteen minutes. -- You can query the `login method` of the virtual machine and the `current status` of the virtual machine by requesting `virtual machine details` (when the status value is "creating", it means that the virtual machine is in the process of being created) - -
- -### 2. Querying Virtual Machine Details - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -Example: - - -### 3. Query the list of virtual machines - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> Example: -> - -### 4. Shut down the virtual machine - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/shutdown/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> 示例: -> - -### 5. Shut down the virtual machine (forced power off) - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/poweroff/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> 示例: -> - -### 6. Start Virtual Machine - -> **Wakes a sleeping virtual machine, also use this api** -> -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/start/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> Example: -> - -### 7. delete virtual machine - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/delete/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> Example: -> - -### 8. Restart Virtual Machine - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/restart/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> ::: warning -> After sending the restart request, the hypervisor will choose what it thinks is the best shutdown method. Note that the request may be ignored by the virtual machine. To force restart the virtual machine, please add the force_reboot parameter to the url. If the parameter is equal to true or 1, it will be forced to restart. If it is equal to false or 0 or no parameter, it will still use the above traditional method to restart. The request url to force restart the virtual machine is as follows: - -http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/restart/?force_reboot=true -::: - -### 9. Query Virtual Machine Logs - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/logs/?flag=tail&line_num=10 -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -:::tip -The request url for querying virtual machine logs has two parameters. The flag indicates the direction of the query log. If the parameter is equal to tail, the query starts from the end of the log file. If it is equal to head, the query starts from the head of the log file. line_num indicates the number of log lines to be queried. If it exceeds the actual number of lines in the file, the actual number of lines in the file shall prevail. Finally, this request returns up to 1024 bytes, and logs that are out of range are truncated. -::: - -### 10. Modify virtual machine configuration - -:::tip -Some changes require a restart of the virtual machine to take effect -::: - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/modify/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "new_ssh_port": "5586", -> "new_vnc_port": "5986", -> "new_rdp_port": "5786", -> "new_custom_port": [ -> "tcp,123", // host的123转发到guest的123 -> "udp,111:222", // host的111转发到guest的222 -> "tcp,333-444", // host的333-444转发到guest的444 -> "udp,555-666:777-888" // host的[555-666]转发到guest的[777-888] -> ], -> "new_gpu_count": "2", // >= 0 -> "new_cpu_cores": "8", // > 0, 单位G -> "new_mem_size": "8" // > 0, 单位G -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 11. Modifying the virtual machine login password - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/tasks/passwd/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "username": "dbc", -> "password": "vm123456" -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -:::warning - -1. Only the running virtual machine can change the password. - -2. The qemu guest agent or dbc guest agent must be installed in the virtual machine to support using this API to change the password. - -3. The Ubuntu system uses the default username "dbc", and the Windows system uses the default username "Administrator". For custom images, please set your own username. - ::: - -
- -## Disk management - -### 1. Query disk list - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/list/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 2. Data disk expansion - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/resize/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "disk": "vdb", //盘符 -> "size": 20 //单位: G -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 3. Add a new data disk - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/add/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "size": 20, //单位: G -> "mount_dir": "/data" //挂载目录,默认:/data -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 4. Delete data disk - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/disk/delete/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "disk": "vdb" //盘符 -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -
- -## Snapshot Manage - -### 1. Query snapshot list - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/snapshot/list/ -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 2. Querying snapshot details - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/snapshot/list// -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> //node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` - -### 3. Create snapshot - -:::tip 注意! -To create a snapshot, make sure the virtual machine is powered off. -::: - -- request method: POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/snapshot/create/ -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "snapshot_name": "snap1", //快照名 - "desc": "...", //描述 - "image_server": "ID_2" //创建的快照上传到此镜像中心 - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 4. Delete snapshot - -- request method: POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/snapshot/delete// -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": {}, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -
- -## Image Manage - -### 1. Query the mirror center ID list - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/servers` -``` - -- request body: - -```json -{ - "peer_nodes_list": [], - "additional": {} -} -``` - -### 2. Query image list - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images` -``` - -- request body: - -**1. Query the image list of the image center** - -```json -{ - "peer_nodes_list": [], - "additional": { - // 【必填】指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -**2. Query the image list of GPU nodes** - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 【选填】指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -**3. Query the image list of a user on a GPU node** - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 指定要查询的镜像中心ID - "image_server": "ID_1" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -- examples: - -![all_images](./assets/snap_mirror_manage.assets/all_images.png) - -### 3. Upload image - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/upload -``` - -- request body: - -**1. Upload an image on the GPU node to the image center** - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2", - // 指定要查询的镜像中心ID - "image_server": "ID_1" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -**2. Upload an image on the client node to the image center** - -```json -{ - "peer_nodes_list": [], - "additional": { - "image_filename": "ubuntu.qcow2", - // 指定要查询的镜像中心ID - "image_server": "ID_1" - } -} -``` - -- examples: - -![snap_list](./assets/snap_mirror_manage.assets/snap_list.png) - -### 4. Download image - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/download -``` - -- request body: - -**Download the image from the image center to the GPU node** - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - // 指定要查询的镜像中心ID - "image_server": "ID_1", - "image_filename": "ubuntu.qcow2", - // 本地存储路径 - "local_dir": "/my_local_dir" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -- examples: - -![snap_list](./assets/snap_mirror_manage.assets/snap_list.png) - -### 5. Query download progress - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/downloadprogress -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 6. Query upload progress - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/uploadprogress -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 7. Stop download - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/download_stop -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 8. Stop upload - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/upload_stop -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 9. Delete image file - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/images/delete -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - //node_id of GPU Node - "80720ffadecb07087b3a5b6f88b91b58f7c738b15405c93914ee04f607a14965" - ], - "additional": { - "image_filename": "ubuntu.qcow2" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -## Virtual LAN networking - -### 1. Create a network - -:::tip 注意! -the created network can only be used in the same computer room -::: - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/lan/create -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of GPU Node - "441f631da912b2186a3ef0452430f139cf01641bf4e2dce07e06103d8d70e533" - ], - "additional": { - // 创建网络的名称(6-10位字母或者数字组合) - "network_name": "testnet", - // 网段/ 掩码位数 - "ip_cidr": "192.168.66.0/24" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 2. Delete the network - -:::tip 注意! -DBC will automatically clean up the network that has not been used by the virtual machine for a long time -::: - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/lan/delete/ -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of GPU Node - "441f631da912b2186a3ef0452430f139cf01641bf4e2dce07e06103d8d70e533" - ], - "additional": {}, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -## Bare Metal Node Operations - -To control operations such as switching on and off a bare metal server, you need a CPU server that is on the same network as the bare metal server. Run the bare metal node program of dbc on this CPU server, and then add the relevant information of the bare metal server (IP address and IPMI control information) to the node, and the node will generate a corresponding "node_id" for the bare metal server to join the dbc network, the bare metal server can be rented and controlled by "node_id". - -To install dbc bare metal node, please refer to [dbc bare metal node](https://deepbrainchain.github.io/DBC-Wiki/en/install-update-dbc-node/install-update-dbc/dbc-bare-metal-node.html) - -### 1. Query the list of bare metal servers - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node. When this is empty, it means querying the list of all bare metal servers. - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": {}, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "bare_metal_nodes": [ - { - "node_id": "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39", - "node_private_key": "4c2e7133834d6d7dd35088beda5556215f6f5b15d2cd3c3153f117aaeec2c28b", - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d", - "ip": "175.221.204.110", - "os": "Ubuntu 20.04.3 LTS (Focal Fossa) 5.4.0-121-generic GNU/Linux", - "description": "在xxx平台租用的裸金属服务器,用于xxx业务,机房id是9f01ca9c-38bd-46a9-9637-dac92b352a63", - "ipmi_hostname": "192.168.0.110", - "ipmi_username": "admin", - "ipmi_password": "dbtu2017", - "deeplink_device_id": "123456789", - "deeplink_device_password": "aAbBcC" - } - ] - } -} -``` - -When the "peer_nodes_list" array in the request body contains the node_id of the bare metal node, you can also query the specified bare metal server based on the `uuid` entered when adding the bare metal server. -- Use `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/` to query related information about the bare metal server with the specified `node_id`. -- Use `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/` to query related information about the bare metal server with the specified `uuid`. - -### 2. Add a bare metal server - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/add -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": { - // Informations of bare metal server - "bare_metal_nodes": [ - { - // The unique ID of the machine supplier to identify the bare metal, required. - // v0.4.1.2 starts to support retrieving related information of the specified bare metal server through uuid. - // Therefore uuid can only be composed of a-z, A-Z and -, and cannot be repeated within the same bare metal node. - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d", - // The connection method provided by the bare metal server to the user. Required. A fixed IP address is recommended. - "ip": "175.221.204.110", - // Operating system of the bare metal server, optional. - "os": "Ubuntu 20.04.3 LTS (Focal Fossa) 5.4.0-121-generic GNU/Linux", - // A description customized by the machine owner, not required. - "desc": "在xxx平台租用的裸金属服务器,用于xxx业务,机房id是9f01ca9c-38bd-46a9-9637-dac92b352a63", - // The host ID of ipmi, required. A fixed IP address is recommended. - "ipmi_hostname": "192.168.0.110", - // ipmi username, required. - "ipmi_username": "admin", - // ipmi user password, required. - "ipmi_password": "dbtu2017", - // ipmi port,optional. v0.4.0.9 version added. - "ipmi_port": 623 - } - ] - }, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "bare_metal_nodes": [ - { - "node_id": "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39", - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d" - } - ] - } -} -``` - -### 3. Delete bare metal servers - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/delete -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": { - // node_id list of bare metal server - "bare_metal_node_ids": [ - // The node_id returned when adding a bare metal server - "8c29b20da3fdb2d6c5ad7c2c85b303d9d337a1b82fa584a6b6cf1303331efd16" - ] - }, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -### 4. Modify bare metal server IPMI and other information - -v0.4.1.1 version added. - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/modify/{{node_id}} -``` - -The node_id in the URL is the node_id corresponding to the bare metal server. Please distinguish it from the id in the Body. - -- request Body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": { - // The unique ID of the machine supplier to identify the bare metal. - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d", - // The connection method provided by the bare metal server to the user. A fixed IP address is recommended. - "ip": "175.221.204.110", - // Operating system of the bare metal server. - "os": "Ubuntu 20.04.3 LTS (Focal Fossa) 5.4.0-121-generic GNU/Linux", - // A description customized by the machine owner. - "desc": "在xxx平台租用的裸金属服务器,用于xxx业务,机房id是9f01ca9c-38bd-46a9-9637-dac92b352a63", - // The host ID of ipmi. A fixed IP address is recommended. - "ipmi_hostname": "192.168.0.110", - // ipmi username. - "ipmi_username": "admin", - // ipmi user password. - "ipmi_password": "dbtu2017", - // ipmi port. - "ipmi_port": 623 - }, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -### 5. Bare Metal Server Power Control - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/power -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal server - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": { - // power control command - // "on" - power on - // "off" - power off - // "reset" - power reset - // "status" - get power status - "command": "on" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -### 6. Modifying the boot device order of a bare metal server - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/bootdev -``` - -- request body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal server - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": { - // boot device order - // "pxe" - Force PXE boot - // "disk" - Force boot from default Hard-drive - // "cdrom" - Force boot from CD/DVD - // "bios" - Force boot into BIOS Setup - "device": "pxe" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -## DeepLink device information - -In the cloud Internet cafe scene, after a GPU machine is connected to the chain in the form of a bare metal server, if you want to obtain an e-sports-level gaming experience, you also need to use a low-latency remote control software based on cloud games- [DeepLink](https://deeplink.cloud/). - -Correspondingly, to use DeepLink remote control, it is necessary to obtain the device code and device verification code of the DeepLink software running on the GPU machine (hereinafter collectively referred to as DeepLink device information). To this end, we add an interface to query DeepLink device information through the dbc node. - -In order to ensure security, it is recommended that the GPU machines in the cloud Internet cafe scene have different device verification codes every time they are powered on, and use the interface for setting DeepLink device information to inform the bare metal node of the dbc of the device information as soon as it is powered on. - -In addition, you need to modify `http_ip=127.0.0.1` in the configuration file `dbc_baremetal_node/conf/core.conf` of the bare metal node to `http_ip=0.0.0.0`, so that the bare metal node can directly accept HTTP requests. - -When the GPU machine and the bare metal node of dbc are in the same network, you can directly use the HTTP service of the bare metal node to get/set device information, and the request at this time does not need `session_id` and `session_id_sign` parameters. When the renter queries the device information through the HTTP service of the client node, it must have `session_id` and `session_id_sign` parameters. - -### 1. Get DeepLink device information - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/deeplink -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // The node_id corresponding to the GPU machine - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": {}, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "device_id": "123456789", - "device_password": "aAbBcC" - } -} -``` - -### 2. Set DeepLink device information - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/deeplink/set -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // The node_id corresponding to the GPU machine - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": { - "device_id": "123456789", - "device_password": "aAbBcC" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": "ok" -} -``` diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/http-request-format.md b/docs/ko/install-update-dbc-node/dbc-client-api/http-request-format.md deleted file mode 100644 index bc43a2f4a..000000000 --- a/docs/ko/install-update-dbc-node/dbc-client-api/http-request-format.md +++ /dev/null @@ -1,146 +0,0 @@ -# Http request format description - -`request method`:POST - -`request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/**specific request path** - -`request body`: - -```json -{ - "peer_nodes_list": [ - // The node_id of the requesting machine, currently only supports filling in 1 - "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" - ], - "additional": { - // Various parameters to be passed with each request - - }, - // Identity authentication information - ... -} -``` - -**identity authentication information**There are a total of 3 types, when requesting, fill in any one of the following: - -> **Type 1: renter wallet signature** -> -> **_instruction_**: It is necessary to know the renter's wallet address and the corresponding wallet private key. Therefore, the renter himself is usually the one who uses this method.。 -> -> - Signature method:`./sign_tool [wallet address] [wallet private key]` -> -> > output: -> > ![import](./assets/wallet_sign.png) -> -> - Fill in the generated 3 values into the request body, the final request body format is as follows: -> -> ```json -> { -> "peer_nodes_list": [ -> "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" -> ], -> "additional": {}, -> "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", -> "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -> } -> ``` - -> **Type 2: Multi-signature wallet signature** -> -> **_instruction_**: Need to know all wallet addresses of multi-signature accounts, and wallet signatures of a threshold number of accounts。 -> -> - Take 3 wallet addresses of multi-signature accounts and 2 wallet signatures as an example, the interpretation of each field is as follows: -> -> ```json -> "multisig_accounts": { -> // All wallet addresses of multi-signature accounts -> "wallets": [ -> "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", -> "5DhBmvUkj9YWvdDtJWJwaGrFRpzeqW4Ch5oTyTamXG2LMHVQ" -> ], -> // The threshold when creating a multi-signature wallet -> "threshold": "2", -> // Sign with any 2 wallet private keys in the multi-signature account (signature method is the same as in the first type) -> "signs": [ -> { -> "wallet":"5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "nonce":"5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", -> "sign":"2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -> }, -> { -> "wallet":"5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", -> "nonce":"5t1mv263Qpnu5tk5xPDk86oXGUX8yXaYGpAWj2n6gU45HNmsQqLaAU7", -> "sign":"c494cc517f3c181fd7206d03175b5c0c29d162e53aa88c557887241d104456272dc313501c8ae4e71dbcbae183942a119713974aff87aa1ef3870aa505be6384" -> } -> ] -> } -> ``` -> -> - The final request body format is as follows: -> -> ```json -> { -> "peer_nodes_list": [ -> "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" -> ], -> "additional": {}, -> "multisig_accounts": { -> "wallets": [ -> "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", -> "5DhBmvUkj9YWvdDtJWJwaGrFRpzeqW4Ch5oTyTamXG2LMHVQ" -> ], -> "threshold": "2", -> "signs": [ -> { -> "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", -> "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -> }, -> { -> "wallet": "5HgVTsXnUBmaL5F2RBjKmXMoAeG9Avuyk9tmgnnVx28u2ZrS", -> "nonce": "5t1mv263Qpnu5tk5xPDk86oXGUX8yXaYGpAWj2n6gU45HNmsQqLaAU7", -> "sign": "c494cc517f3c181fd7206d03175b5c0c29d162e53aa88c557887241d104456272dc313501c8ae4e71dbcbae183942a119713974aff87aa1ef3870aa505be6384" -> } -> ] -> } -> } -> ``` - -> **Type 3: Use session_id and session_id_sign distributed by the machine renter** -> -> **_instruction_**: session_id and session_id_sign are the credentials of the renter to other third-party users who want to use the machine, and third-party users can use the session_id to access the machine.。 -> -> **_notice_**:session_id can only be obtained and modified by the renter requesting the machine (request method: refer to the first and second types above) -> -> - The machine renter requests to obtain the session_id of the machine (request method: refer to the first and second types above; here the first method is used as an example), the return value is session_id: -> -> ```json -> { -> "peer_nodes_list": [ -> "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" -> ], -> "additional": {}, -> "wallet": "5Dy8ULx1De6u3WE9ixpy1VKK2CVssvsjQT15qcmQsG662Zj4", -> "nonce": "5q7KRn4d8EmXFFsim8vHBp23N2CpERbD2mWR3WCo1o3teZnGxYEh4N6", -> "sign": "2460725b2f5e737cd810c773be61b9b27c3b9dbdac4af9cf25c7be9949ad7202a0b7467f71ad843888f482662d3ae2e4fa566d3c1930a3fa90f3dcb97ea4098d" -> } -> ``` -> -> - Machine renter signs session_id: -> ![import](./assets/session_id_sign.png) -> Distribute the generated session_id and session_id_sign to third-party users。 -> - `After the third-party user gets the session_id and session_id_sign, the body format of the request is: -> -> ```json -> { -> "peer_nodes_list": [ -> "460e56d4cdade97065ddf4d0dfeee7ab7e6e77d0058fad07e43123fadd1d8d2a" -> ], -> "additional": {}, -> "session_id": "3QRjS1PsbDReGJKVBBRqxUh9RqXB5jbfHJ8bMgGoJ3C9HHHHm9rCmmh", -> "session_id_sign": "ca89d0adb44a03c6f22a9205a06e22f682805f8c8ee25dd182e36ceb581899001196ce94c40e2147247f967256d7e010318e4387853939d94ba99c81f16a358f" -> } -> ``` diff --git a/docs/ko/install-update-dbc-node/dbc-client-api/install-tool.md b/docs/ko/install-update-dbc-node/dbc-client-api/install-tool.md deleted file mode 100644 index 6120ad751..000000000 --- a/docs/ko/install-update-dbc-node/dbc-client-api/install-tool.md +++ /dev/null @@ -1,8 +0,0 @@ -# Get ready - -- download and install http request tool:https://www.postman.com/downloads/ - -- download the signature tool, it will be used later: - http://112.192.16.27:9000/dbc/package/sign_tool - -- add executable permission to the signing tool with the file name sign_tool:`chmod +x ./sign_tool` diff --git a/docs/ko/install-update-dbc-node/dbc-monitor/DBC_Host_Templates.xml b/docs/ko/install-update-dbc-node/dbc-monitor/DBC_Host_Templates.xml deleted file mode 100644 index 4a92d3e92..000000000 --- a/docs/ko/install-update-dbc-node/dbc-monitor/DBC_Host_Templates.xml +++ /dev/null @@ -1,251 +0,0 @@ - - - 5.0 - 2022-03-22T03:39:51Z - - - dbc host group - - - - - - diff --git a/docs/ko/install-update-dbc-node/dbc-monitor/http-monitor-api.md b/docs/ko/install-update-dbc-node/dbc-monitor/http-monitor-api.md deleted file mode 100644 index 8acaa1511..000000000 --- a/docs/ko/install-update-dbc-node/dbc-monitor/http-monitor-api.md +++ /dev/null @@ -1,77 +0,0 @@ -# HTTP client request API for virtual machine monitoring - -:::tip -The dbc_client_ip and dbc_client_port in the following HTTP request are the DBC client access addresses deployed by the user -::: - ---- - -### 1. Query the list of monitoring servers - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/monitor -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": {}, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> `request result example`: -> -> ```json -> { -> "errcode": 0, -> "message": { -> "servers": ["119.6.235.169:10051"] -> } -> } -> ``` - -### 2. Set the monitoring server list - -> `request method`:POST -> -> `request URL`:http://<**dbc_client_ip**>:<**dbc_client_port**>/api/v1/monitor/set -> -> `request body`: -> -> ```json -> { -> "peer_nodes_list": [ -> // node_id of GPU Node -> "58fb618aa482c41114eb3cfdaefd3ba183172da9e25251449d045043fbd37f45" -> ], -> "additional": { -> "servers": ["119.6.235.169:10051"] -> }, -> -> "session_id": "The session_id distributed by the renter", -> "session_id_sign": "session_id_sign distributed by the renter" -> } -> ``` -> -> `request result example`: -> -> ```json -> { -> "errcode": 0, -> "message": "ok" -> } -> ``` - -::: warning -The "servers" field in "additional" is an array, the user can fill in at most two services, please refer to the format:["ip:port","ip:port"]. - -If you need to clear the monitoring service, the array can be empty, for example:[]. -::: diff --git a/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-items.md b/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-items.md deleted file mode 100644 index c6838780e..000000000 --- a/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-items.md +++ /dev/null @@ -1,515 +0,0 @@ -# monitoring items - -## monitoring item list of the host - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
classificationkeydescriptiondata typeunit
host.gpuCounttotal number of GPUsunsigned int
host.gpuUsednumber of GPUs usedunsigned int
GPUhost.gpu.0.nameThe product name of the first GPU device, the number in the middle is the number, starting from 0, the same belowstring
host.gpu.0.busIdThe tuple domain:bus:device.function PCI identifierstring
host.gpu.0.memTotalTotal physical device memoryunsigned long longB
host.gpu.0.memFreeUnallocated device memoryunsigned long longB
host.gpu.0.memUsedSum of Reserved and Allocated device memoryunsigned long longB
host.gpu.0.gpuUtilizationgpu utilization:Percent of time over the past sample period during which one or more kernels was executing on the GPUunsigned int
host.gpu.0.memUtilizationmem utilization:Percent of time over the past sample period during which global (device) memory was being read or writtenunsigned int
host.gpu.0.powerUsagethe power usage information in milliwattsunsigned intmilliwatt
host.gpu.0.powerCapthe power management limit in milliwattsunsigned intmilliwatt
host.gpu.0.temperaturethe current temperature readings for the deviceunsigned intdegrees C
virtual machinehost.vmCounttotal number of virtual machinesunsigned int
host.vmRunningnumber of running virtual machinesunsigned int
CPUhost.cpuUsageCPU usagefloat%
memoryhost.memTotaltotal memoryunsigned long longKB
host.memFreefree memoryunsigned long longKB
host.memUsagememory usagefloat%
flowhost.rxFlowreceive total flowlong longB
host.txFlowtotal flow sentlong longB
data diskhost.diskTotaldata disk capacityunsigned long longKB
host.diskFreedata disk free capacityunsigned long longKB
host.diskUsagedata disk usagefloat%
host.diskMountStatusThe mount status of the data disk,"lost" or "normal"string
load averagehost.loadAverage.1Average load over the past 1 minutefloat
host.loadAverage.5Average load over the past 5 minutefloat
host.loadAverage.15Average load over the past 15 minutefloat
host.dbcVersionDBC version numberstring
- -## monitoring item list of the virtual machine - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
classificationkeydescriptiondata typeunit
virtual machine monitoringbasic informationdom.statethe running state of virtual machine, such as runningstring
dom.maxMemthe maximum memory in KBytes allowedunsigned intKB
dom.memorythe memory in KBytes used by the domainunsigned intKB
dom.nrVirtCputhe number of virtual CPUs for the domainunsigned int
dom.cpuTimethe CPU time used in nanosecondsunsigned long long
dom.cpuUsageaverage CPU usagefloat%
memory informationmemory.totalmemory totalunsigned long longKB
memory.unusedreal-time memory unusedunsigned long longKB
memory.availablereal-time memory avaliableunsigned long longKB
memory.usagereal-time memory usagefloat%
disk informationdisk.0.nameThe name of the first disk, the number in the middle is the number, starting from 0, the same belowstring
disk.0.capacitylogical size in bytes of the image (how much storage the guest will see)unsigned long longKB
disk.0.allocationhost storage in bytes occupied by the image (such as highest allocated extent if there are no holes, similar to 'du')unsigned long longKB
disk.0.physicalhost physical size in bytes of the image container (last offset, similar to 'ls')unsigned long longKB
disk.0.rd_reqnumber of read requestslong long
disk.0.rd_bytesnumber of read byteslong longB
disk.0.wr_reqnumber of write requestslong long
disk.0.wr_bytesnumber of written byteslong longB
disk.0.errsIn Xen this returns the mysterious 'oo_req'long long
disk.0.rd_speeddisk average read speedfloatB/s
disk.0.wr_speeddisk average write speedfloatB/s
internet informationnet.0.nameThe name of the first network card, the number in the middle is the number, starting from 0, the same belowstring
net.0.rx_bytesbytes receivedlong longB
net.0.rx_packetsreceived packagelong long
net.0.rx_errslong long
net.0.rx_droplong long
net.0.tx_bytesbytes sentlong longB
net.0.tx_packetspackage sentlong long
net.0.tx_errslong long
net.0.tx_droplong long
net.0.rx_speedaverage reception speedfloatB/s
net.0.tx_speedaverage sending speedfloatB/s
GPUgpu.graphicsDriverVersionthe version of the system's graphics driverstring
gpu.nvmlVersionthe version of the NVML librarystring
gpu.cudaVersionthe version of the CUDA driverstring
gpu.0.nameThe product name of the first GPU device, the number in the middle is the number, starting from 0, the same belowstring
gpu.0.busIdThe tuple domain:bus:device.function PCI identifierstring
gpu.0.memTotalTotal physical device memoryunsigned long longB
gpu.0.memFreeUnallocated device memoryunsigned long longB
gpu.0.memUsedSum of Reserved and Allocated device memoryunsigned long longB
gpu.0.gpuUtilizationgpu utilization:Percent of time over the past sample period during which one or more kernels was executing on the GPUunsigned int
gpu.0.memUtilizationmem utilization:Percent of time over the past sample period during which global (device) memory was being read or writtenunsigned int
gpu.0.powerUsagethe power usage information in milliwattsunsigned intmilliwatt
gpu.0.powerCapthe power management limit in milliwattsunsigned intmilliwatt
gpu.0.temperaturethe current temperature readings for the deviceunsigned intdegrees C
protocolversionversion number of dbcstring
- -## gpu monitoring must read - -Video card monitoring must read -Because of the isolation of the graphics card device on the host computer, dbc cannot directly obtain the specific information of the graphics card. Therefore, based on the qemu guest agent, we integrated the functions of the NVIDIA Management Library and implemented a set of independent services, namely the dbc guest agent, which obtains the detailed information of the graphics card in the virtual machine through communication with the virtual machine. - -For custom images, to monitor graphics card information, please install the dbc guest agent service inside the virtual machine. - -- Ubuntu virtual machine installation script: http://112.192.16.27:9000/dbc_guest_agent/install.sh -- Windows 64-bit virtual machine installer: http://112.192.16.27:9000/dbc_guest_agent/qemu-ga-x86_64.msi - -:::tip 注意! - -1. Graphics card monitoring currently only supports NVIDIA graphics cards. - -2. The graphics card monitor can only see the graphics card devices that have been used by the virtual machine. - ::: - -## Calculation of usage and speed - -- CPU usage = (cpuTime2 - cpuTime1) / (realTime2 - realTime1) / Number of CPUs -- memory usage = (total - unused) / total -- disk average read speed = (rd_bytes2 - rd_bytes1) / (realTime2 - realTime1) -- average reception speed = (rx_bytes2 - rx_bytes1) / (realTime2 - realTime1) - -:::tip 注意! -When the interval between two data collections is very long, such as once every minute, the disk read/write speed and network transmission speed can only represent the average speed, not the real-time speed. -::: diff --git a/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-protocol.md b/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-protocol.md deleted file mode 100644 index ebca934ff..000000000 --- a/docs/ko/install-update-dbc-node/dbc-monitor/monitoring-protocol.md +++ /dev/null @@ -1,119 +0,0 @@ -# monitoring protocol - -Server - dbc data exchange is based on JSON format, Request and response messages must begin with header and data length. - -This agreement and documentation mainly refer to [zabbix doc](https://www.zabbix.com/documentation/5.0/zh/manual/appendix/protocols). - -## header 和 data length - -The header is present in response and request messages between Zabbix components. It is required to determine the length of message, if it is compressed or not and the format of message length fields. The header consists of: - -``` -
- "ZBXD\x01" (5 bytes) - - data length (8 bytes). 1 will be formatted as 01/00/00/00/00/00/00/00 (eight bytes, 64 bit number in little-endian format) -``` - -## Protocol conversion example - -``` -/** - * @brief Convert JSON string to protocol data required by zabbix - * @param json_data JSON format string - * - * @return A string that conforms to the zabbix protocol - */ -std::string formatJsonData(const std::string &json_data) { - std::string data = "ZBXD\x01"; - unsigned long long data_len = json_data.length(); - char* arrLen = reinterpret_cast(&data_len); - data.append(arrLen, 8); - data.append(json_data); - return data; -} -``` - -## data exchange process - -1. dbc opens a TCP connection(Known server ip and port); -2. dbc send protocol-compliant data(`
`); -3. server process the data and return the result; -4. dbc parse the returned result; -5. TCP connection is closed. - -## Active checks - -> `request purpose`:dbc asks the server whether to receive monitoring data of a virtual machine -> -> `request body`: -> -> ``` ->
{ -> "request":"active checks", -> // hostname represents the ID of the virtual machine -> "host":"" -> } -> ``` -> -> `request result example`: -> -> ``` ->
{ -> "response":"success", -> // The data part is omitted, and no verification is performed for the time being -> "data":[......] -> } -> ``` - -::: warning -The server must respond successfully. If the "response" field is "success", it means success, otherwise it will be regarded as failure. -::: - -## Send collected monitoring data - -> `request purpose`:dbc sends the collected virtual machine monitoring data to the server -> -> `request body`: -> -> ``` ->
{ -> "request":"agent data", -> "data":[ -> { -> "host":"", -> "key":"dom.state", -> "value":"running", -> "clock":1400675595, -> "ns":76808644, -> }, -> ...... -> { -> "host":"", -> "key":"version", -> "value":"0.3.9.2", -> "clock":1400675595, -> "ns":77053975, -> } -> ], -> "clock": 1400675595, -> "ns": 78211329 -> } -> ``` -> -> `request result example`: -> -> ``` ->
{ -> "response":"success", -> // The info part is not checked -> "info":"processed: 3; failed: 0; total: 3; seconds spent: 0.003534" -> } -> ``` - -## zabbix server settings - -If the server side wants to receive the data sent by dbc, it needs to do the following settings: - -1. Import the dbc item template "[DBC VM Template](https://github.com/DeepBrainChain/DBC-Wiki/blob/main/docs/en/install-and-update-dbc/dbc-monitor/DBC_Host_Templates.xml)" in zabbix; -2. Create a virtual machine; -3. Use the template "[DBC VM Template](https://github.com/DeepBrainChain/DBC-Wiki/blob/main/docs/en/install-and-update-dbc/dbc-monitor/DBC_Host_Templates.xml)" to add a host in zabbix, fill in the id of the virtual machine for the host name; -4. After the virtual machine is created, the monitoring data can be sent. diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/assets/install_dbc_client.png b/docs/ko/install-update-dbc-node/install-update-dbc/assets/install_dbc_client.png deleted file mode 100644 index 5f80053a7..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/assets/install_dbc_client.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/assets/update_dbc_client.png b/docs/ko/install-update-dbc-node/install-update-dbc/assets/update_dbc_client.png deleted file mode 100644 index 170329487..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/assets/update_dbc_client.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/dbc-bare-metal-node.md b/docs/ko/install-update-dbc-node/install-update-dbc/dbc-bare-metal-node.md deleted file mode 100644 index 1d61f38d4..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/dbc-bare-metal-node.md +++ /dev/null @@ -1,296 +0,0 @@ -# DBC Bare Metal Node - -## Introduction - -1. The bare metal node of DBC is only responsible for generating the node id for the bare metal server, and controlling the bare metal server to perform limited operations such as switching on and off. -2. Bare metal nodes do not support functions related to virtual machines. Because the requirements for the hardware equipment of the machine where the node is deployed are very low, the resources such as memory and hard disk used are very small, as long as the IPMI tool can be used for the bare metal server and the network service is normal. - -:::tip 注意! -The bare metal node of DBC itself has a "node_id", which does not need to be uploaded to the chain, and is only used to generate a "node_id" for the bare metal server. - -For example, send a request to add a bare metal server to a bare metal node. The parameter needs to tell the client node which bare metal node to send to, and fill in the information for IPMI control. The request will return a new "node_id", that is the "node_id" of the added bare metal server. This "node_id" needs to be on the chain, and then the user can rent it on the chain, and use it to send the request of switching on and off. - -This article mentions two kinds of node_id, which are distinguished here: - -- "The node_id of the bare metal node" refers to the "node_id" field in the "dat/node.dat" file in the node installation directory. -- "The node_id of the bare metal server" is the "node_id" field returned by sending the request to add the bare metal server. - ::: - -## install node - -1. Download the installation script:http://112.192.16.27:9000/dbc/install_update_script/mainnet/install_baremetal.sh -2. run the install script: - -``` -sudo bash ./install_baremetal.sh -``` - -The installation script will automatically install the IPMI tool, and like the script for installing the DBC client node, you need to enter 2 port numbers. - -## upgrade node - -1. Download upgrade script:http://112.192.16.27:9000/dbc/install_update_script/mainnet/update_baremetal.sh -2. Run the upgrade script: - -``` -sudo bash update_baremetal.sh -``` - -## Add a bare metal server - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/add -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": { - // Informations of bare metal server - "bare_metal_nodes": [ - { - // The unique ID of the machine supplier to identify the bare metal, required. - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d", - // The connection method provided by the bare metal server to the user. Required. A fixed IP address is recommended. - "ip": "175.221.204.110", - // Operating system of the bare metal server, optional. - "os": "Ubuntu 20.04.3 LTS (Focal Fossa) 5.4.0-121-generic GNU/Linux", - // A description customized by the machine owner, not required. - "desc": "在xxx平台租用的裸金属服务器,用于xxx业务,机房id是9f01ca9c-38bd-46a9-9637-dac92b352a63", - // The host ID of ipmi, required. A fixed IP address is recommended. - "ipmi_hostname": "192.168.0.110", - // ipmi username, required. - "ipmi_username": "admin", - // ipmi user password, required. - "ipmi_password": "dbtu2017", - // ipmi port,optional. v0.4.0.9 version added. - "ipmi_port": 623 - } - ] - }, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "bare_metal_nodes": [ - { - "node_id": "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39", - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d" - } - ] - } -} -``` - -## Query the list of bare metal servers - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal node. When this is empty, it means querying the list of all bare metal servers. - "ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573" - ], - "additional": {}, - // Generated by the node_id and node_private_key of the bare metal node - "wallet":"ccd9a2118ba3c95cd458302601f15281edc39d72dcf11a07527893d97ac1a573", - "nonce":"5tYLiAF9vVP8bRqSfV9DfZnizsDNY7dNeEWrSUAY8f1LKiZqBu8zaVs", - "sign":"3c680ba745af6695981fe2b30aedf6861749f570d9a6fe949930caf4613c225d4a674c33ec3d4af26c20caf871dd0f3a7cb4e0c045f12c211a345781054fc282" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "bare_metal_nodes": [ - { - "node_id": "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39", - "node_private_key": "4c2e7133834d6d7dd35088beda5556215f6f5b15d2cd3c3153f117aaeec2c28b", - "uuid": "3156995b-da18-4268-9734-f8d168e90a7d", - "ip": "175.221.204.110", - "os": "Ubuntu 20.04.3 LTS (Focal Fossa) 5.4.0-121-generic GNU/Linux", - "description": "在xxx平台租用的裸金属服务器,用于xxx业务,机房id是9f01ca9c-38bd-46a9-9637-dac92b352a63", - "ipmi_hostname": "192.168.0.110", - "ipmi_username": "admin", - "ipmi_password": "dbtu2017", - "deeplink_device_id": "123456789", - "deeplink_device_password": "aAbBcC" - } - ] - } -} -``` - -When the "peer_nodes_list" array in the request body contains the node_id of the bare metal node, you can also query the specified bare metal server based on the `uuid` entered when adding the bare metal server. -- Use `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/` to query related information about the bare metal server with the specified `node_id`. -- Use `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/` to query related information about the bare metal server with the specified `uuid`. - -## Bare metal server on-chain - -Use the "node_id" and "node_private_key" queried above to upload the bare metal server to the chain. Refer to [Machine Onchain steps](https://deepbrainchain.github.io/DBC-Wiki/en/onchain-guide/bonding-machine.html) - -After being on-chain, you can rent a bare metal server on the chain just like renting an ordinary computing machine. - -:::tip 注意! -The "node_id" used by the bare metal server on the chain is the "node_id" returned by the request to add the bare metal server, and the "node_private_key" is obtained by querying the bare metal server above. -::: - -## Use of Bare Metal Servers - -By renting a bare metal server on the chain, you can query its machine information, and use the IP and port in the machine information to connect (ssh or Windows remote connection tool) to access. - -If the bare metal server is not powered on, you can control its power to be powered on by sending a request. - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/bare_metal/power -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // node_id of bare metal server - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": { - // power control command - // "on" - power on - // "off" - power off - // "reset" - power reset - // "status" - get power status - "command": "on" - }, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -For other API interfaces, please refer to [Bare Metal Node Operations](https://deepbrainchain.github.io/DBC-Wiki/en/install-update-dbc-node/dbc-client-api/http-api.html#bare-metal-node-operations) - -## Cloud internet cafe - -In the cloud Internet cafe scene, after a GPU machine is connected to the chain in the form of a bare metal server, if you want to obtain an e-sports-level gaming experience, you also need to use a low-latency remote control software based on cloud games- [DeepLink](https://deeplink.cloud/). - -Correspondingly, to use DeepLink remote control, it is necessary to obtain the device code and device verification code of the DeepLink software running on the GPU machine (hereinafter collectively referred to as DeepLink device information). To this end, we add an interface to query DeepLink device information through the dbc node. - -In order to ensure security, it is recommended that the GPU machines in the cloud Internet cafe scene have different device verification codes every time they are powered on, and use the interface for setting DeepLink device information to inform the bare metal node of the dbc of the device information as soon as it is powered on. - -In addition, you need to modify `http_ip=127.0.0.1` in the configuration file `dbc_baremetal_node/conf/core.conf` of the bare metal node to `http_ip=0.0.0.0`, so that the bare metal node can directly accept HTTP requests. - -When the GPU machine and the bare metal node of dbc are in the same network, you can directly use the HTTP service of the bare metal node to get/set device information, and the request at this time does not need `session_id` and `session_id_sign` parameters. When the renter queries the device information through the HTTP service of the client node, it must have `session_id` and `session_id_sign` parameters. - -The specific usage process is as follows: -1. After the GPU machine is turned on, the service program of the cloud Internet cafe calls the DeepLink device information setting interface of the bare metal node immediately. - -- request method:POST - -- request URL: - -``` -http://{{dbc_baremetal_ip}}:{{dbc_baremetal_port}}/api/v1/deeplink/set -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // The node_id corresponding to the GPU machine - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": { - "device_id": "123456789", - "device_password": "aAbBcC" - }, - // Generated by the node_id and node_private_key of the GPU machine - "wallet":"fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39", - "nonce":"3bxrsXVW2z2ELH7G9RvF7BMUQkEGkBfQhd8YD5r8somf3UdNWcEYAFa", - "sign":"e096764ac7462220bc9b8fa223b81cfb9a501eaea9ea355c0d561b6fe61cb729abed61e5d8488178856e198d9cde51c37e2aac8886cb5e7b674591b1eca8108f" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": "ok" -} -``` - -Note that the URL of this request is `http://{{dbc_baremetal_ip}}:{{dbc_baremetal_port}}/api/v1/deeplink/set` instead of `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/deeplink/set`, and the request content does not need `session_id` and `session_id_sign` parameters. - -Similarly, you can also call `http://{{dbc_baremetal_ip}}:{{dbc_baremetal_port}}/api/v1/deeplink` at this time to query the device information of the bare metal node. - -2. The renter queries DeepLink device information. - -- request method:POST - -- request URL: - -``` -http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/deeplink -``` - -- request Body: - -```json -{ - "peer_nodes_list": [ - // The node_id corresponding to the GPU machine - "fcf2cd8b99958606d260ca00c5ac00c88c242bcf8eb38e7cc3f29e9719a73f39" - ], - "additional": {}, - "session_id": "The session_id distributed by the renter", - "session_id_sign": "session_id_sign distributed by the renter" -} -``` - -- return example: - -```json -{ - "errcode": 0, - "message": { - "device_id": "123456789", - "device_password": "aAbBcC" - } -} -``` - -Note that the URL of this request is `http://{{dbc_client_ip}}:{{dbc_client_port}}/api/v1/deeplink`, and the request content requires `session_id` and `session_id_sign` parameters. diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/deploy_image_server.md b/docs/ko/install-update-dbc-node/install-update-dbc/deploy_image_server.md deleted file mode 100644 index a911c733c..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/deploy_image_server.md +++ /dev/null @@ -1,65 +0,0 @@ -# deploy image server - -- **操作系统:ubuntu** - -- **设置开机启动 rsync-daemon** - - `sudo vim /etc/default/rsync` - - 将 false 改为 true: - - `RSYNC_ENABLE=true` - -* **修改配置文件 rsyncd.conf** - - 手动复制: - - `sudo cp /usr/share/doc/rsync/examples/rsyncd.conf /etc` - - 修改 /etc/rsyncd.conf: - - ``` - ######### 全局: 配置参数 ########## - port=873 # 指定rsync端口。默认873 - uid = nobody # rsync服务的运行用户,默认是nobody,文件传输成功后属主将是这个uid - gid = nogroup # rsync服务的运行组,默认是nobody,文件传输成功后属组将是这个gid - use chroot = yes # rsync daemon在传输前是否切换到指定的path目录下,并将其监禁在内 - max connections = 0 # 指定最大连接数量,0表示没有限制 - timeout = 60 # 确保rsync服务器不会永远等待一个崩溃的客户端,0表示永远等待 - motd file = /var/rsyncd/rsync.motd # 客户端连接过来显示的消息 - lock file = /var/run/rsync.lock # 指定锁文件 - log file = /var/log/rsyncd.log # 指定rsync的日志文件,而不把日志发送给syslog - dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 # 指定哪些文件不用进行压缩传输 - - ######### 模块: 配置参数 ########## - [images] # 模块ID - path = /data/ # 指定该模块的路径,启动rsync服务前该目录必须存在 - ignore errors = yes # 忽略某些IO错误信息 - ignore nonreadable = yes - read only = no # 指定该模块是否可读写,即能否上传文件,no表示可读写,yes表示可读不可写 - write only = no # 指定该模式是否支持下载,设置为yes表示客户端不能下载 - list = no # 客户端请求显示模块列表时,该模块是否显示出来,设置为no则该模块为隐藏模块 - # hosts deny = 0.0.0.0/32 # 指定不允许连接到该模块的机器 - transfer logging = no - strict modes = yes - ``` - -* **启动 rsync 服务** - - `rsync --daemon` - -* **客户端节点上配置镜像中心地址** - - `image_server=,,,` - - id: 用户自定义 ID,用于标识改镜像中心 - - ip: 镜像中心 ip 地址 - - port: 镜像中心服务器上 rsync-server 的监听地址,默认 873,见上述配置文件 - - modulename: 镜像中心上配置的模块 ID,默认 images,见上述配置文件 - - 示例: - - `image_server=ID_1,127.0.0.1,873,images` diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/m3.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/m3.png deleted file mode 100644 index 5fec78b3e..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/m3.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/m4.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/m4.png deleted file mode 100644 index 0752d5cbf..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/m4.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/m5.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/m5.png deleted file mode 100644 index e03ed0631..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/m5.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/m6.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/m6.png deleted file mode 100644 index 71311163d..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/m6.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/m7.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/m7.png deleted file mode 100644 index a4d85ae1a..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/m7.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig1.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig1.png deleted file mode 100644 index e774baba5..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig1.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig2.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig2.png deleted file mode 100644 index 9cb634c78..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/multisig2.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/offline.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/offline.png deleted file mode 100644 index 1d89aa5b7..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/offline.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/postman.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/postman.png deleted file mode 100644 index 9d375f1b5..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/postman.png and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/images/wallet.png b/docs/ko/install-update-dbc-node/install-update-dbc/images/wallet.png deleted file mode 100644 index b22eaadac..000000000 Binary files a/docs/ko/install-update-dbc-node/install-update-dbc/images/wallet.png and /dev/null differ diff --git "a/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" "b/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" deleted file mode 100644 index e8c40ad6e..000000000 Binary files "a/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" and /dev/null differ diff --git "a/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" "b/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" deleted file mode 100644 index 6556a7cd3..000000000 Binary files "a/docs/ko/install-update-dbc-node/install-update-dbc/images/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" and /dev/null differ diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/install-dbc-compute-node.md b/docs/ko/install-update-dbc-node/install-update-dbc/install-dbc-compute-node.md deleted file mode 100644 index 1b1ea85bd..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/install-dbc-compute-node.md +++ /dev/null @@ -1,385 +0,0 @@ -# DBC 컴퓨팅 노드 설치 - -## 【A】설치전 준비 (구성된 고정 공용 IP 주소 기반),KVM설치 환경 배포 - -시스템은 ubuntu18.04 LTS 또는 20.04LTS를 채택하고 시작하기 전에 기존 설치된 그래픽 카드 드라이버를 제거하십시오. 이 작업에는 그래픽 카드 드라이버가 포함될 수 없습니다. - -```shell -sudo echo "140.82.114.4 gitub.com" >> /etc/hosts -sudo echo "199.232.5.194 github.global.ssl.fastly.net" >> /etc/hosts -sudo echo "nameserver 8.8.4.4" | sudo tee /etc/resolv.conf > /dev/null -sudo apt-get update -sudo apt-get upgrade -y -sudo apt-get install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager ovmf cpu-checker vim expect -y -``` - -## 【B】XFS 파일 시스템 생성 및 마운트 - -1.하드디스크 파티션 보기 - -`lsblk` - -2.데이터 디스크 파일 생성 및 하드디스크 격식화, 하드디스크 마운드(데이터디스크 마운트 목차 필수/data) - -```shell -sudo mkdir /data -sudo apt-get install xfsprogs -y -sudo mkfs.xfs -n ftype=1 -f /dev/sdb (여기서sdb인지 여부는lsblk상황에 따라 다릅니다) -sudo mount -o pquota /dev/sdb /data -sudo chmod 777 /data -sudo echo "/dev/sdb /data xfs pquota 0 1" >> /etc/fstab -sudo mount -a -``` - -## 【C】기기 가상화 지원 여부 판정 - -1.하드웨어 지원 활성화 - -BIOS VT-d활성화 (AMD플랫폼일 경우,AMD-Vi를 켜야합니다, 구체적인 작업은 메인보드 유형 브라우저에 따라 검색할 수 있습니다)VT(VT-x) 및 VT-d 지원.AMD는 AMD-Vi로 부릅니다.관련 지원을 enable 설치진행 ,기본적으로 켜짐) - -일반적 경로:Processor—IIO Configuration—Intel@ VT for Directed I/O(VT-d) - -2.환경 의존, CPU가 가상화를 지원하는지, KVM을 사용할 수 있는지 확인합니다 - -egrep -c '(svm|vm)' /proc/cpuinfo - -CPU검사 , 0으로 표시되면, 가상화 지원이 안됩니다 - -kvm-ok - -kvm 사용가능 여부 검사 - -INFO 표시 : /dev/kvm exists - -KVM acceleration can be used 후속 작업을 수행할 수 있음을 표시합니다, 표시가 일치하지 않으면 VT-d가 정상적으로 켜져 있는지 확인하십시오. - -3.ip_forward전달 오픈여부 검사 - -/proc/sys/net/ipv4/ip_forward 1인지 확인 , 1아닐경우 집행합니다: - -```shell -sudo sh -c 'echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf' -sudo sysctl -p -``` - -lsmod | grep br_netfilter수출여부 확인, 수출 안될경우 집행합니다 : - -1.sudo sh -c 'echo "br_netfilter" > /etc/modules-load.d/br_netfilter.conf' - -집행완료 후 다시 시작 필요 ,혹은 그래픽카드 설치 직통 후 동시 다시 시작 합니다 - -20.04 시스템인 경우 다음을 수행하십시오. vfio-pci에 대해 다른 단계를 수행할 필요가 없습니다. ubuntu18.04 시스템인 경우 네 번째 단계에 따라 작업을 시작하십시오. - -- 블랙리스트 설정 , 카드 공간 확보 - -```shell -sudo vim /etc/modprobe.d/blacklist.conf -#최종 추가 내용: -blacklist snd_hda_intel -blacklist amd76x_edac -blacklist vga16fb -blacklist nouveau -blacklist rivafb -blacklist nvidiafb -blacklist rivatv -``` - -- 그래픽 카드 직통 설정 - -```shell -#그래픽카드 ID 검색 -lspci -nnv | grep NVIDIA -그래픽카드id 복제,예 10de:2231 10de:1aef,중복 내용은 오직 한번만 저장 -#커널 파일 수정 -sudo vim /etc/default/grub -#GRUB_CMDLINE_LINUX_DEFAULT문구에 추가(MD플랫폼 일 경우,intel_iommu=on을 amd_iommu=on으로 수정) -quiet splash intel_iommu=on kvm.ignore_msrs=1 vfio-pci.ids=<그래픽 카드id,쉼표로 중간 구분> -#커널 업데이트 -sudo update-grub -#기기 다시 시작 -#그래픽 카드 사용량 검색 -lspci -vv -s <그래픽 카드 PCI인터페이스> | grep driver -``` - -vfio-pci가 표시되면 정상입니다, vfio-pci가 아니면 돌아가서 grub 파일이 올바르게 작성되었는지 확인하거나 여섯 번째 단계 2에 따라 수동으로 바인딩하십시오. - -- ip_forward전달 오픈여부 검사 - -/proc/sys/net/bridge/bridge-nf-call-iptables 및 /proc/sys/net/bridge/bridge-nf-call-ip6tables 모두 =1 여부 검사 - -20.04LTS시스템 그래픽 카드 격리 단계 여기서 마무리 됩니다, 단계 7로 돌아가 실행 하십시오. - -## 【D】시스템 그룹화 활성 - -1. iommu그룹화 구성 - -(다음 내용에서 서버 플랫폼에 따라 iommu를 교체하십시오. intel은 intel_iommu를 사용하고 AMD는 amd_iommu를 사용하십시오.) - -```shell -sudo vim /etc/default/grub -#GRUB_CMDLINE_LINUX_DEFAULT문구에 추가 (quiet splash 이두가지 있으면 중복 추가 필요없습니다 ) -quiet splash intel_iommu=on iommu=pt rd.driver.pre=vfio-pci -#GRUB_CMDLINE_LINUX문구에 추가 -intel_iommu=on iommu=pt rd.driver.pre=vfio-pci -``` - -2.구성 도뮬 파일 - -```shell -sudo vim /etc/modules -#하기 내용 추가: -pci_stub -vfio -vfio_iommu_type1 -vfio_pci -kvm -kvm_intel -#grub.cfg파일 업데이트 -sudo update-grub -#기기 다시 시작,iommu정상 오픈 여부 검사(혹은 추후 실행 완료 후 동시 다시시작 검사합니다 ) -dmesg | grep -i iommu -``` - -[ 3.887539] pci 0000:83:00.1: Adding to iommu group 46 와 같이 유사 표시 되면,오픈 성공됬음을 뜻합니다 - -## 【E】GPU 리소스 격리 - -1. 블랙리스트 설정, 카드 공간 확보 - -```bash -sudo vim /etc/modprobe.d/blacklist.conf -#최종 추가 내용 : -blacklist snd_hda_intel -blacklist amd76x_edac -blacklist vga16fb -blacklist nouveau -blacklist rivafb -blacklist nvidiafb -blacklist rivatv -``` - -2.PCI 설비정보 수집 - -```bash -lspci -nnv | grep NVIDIA -#유사 표시 -17:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080] [10de:1e82] (rev a1) (prog-if 00 [VGA controller]) -17:00.1 Audio device [0403]: NVIDIA Corporation TU104 HD Audio Controller [10de:10f8] (rev a1) -17:00.2 USB controller [0c03]: NVIDIA Corporation TU104 USB 3.1 Host Controller [10de:1ad8] (rev a1) (prog-if 30 [XHCI]) -17:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller [10de:1ad9] (rev a1) -65:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080] [10de:1e82] (rev a1) (prog-if 00 [VGA controller]) -65:00.1 Audio device [0403]: NVIDIA Corporation TU104 HD Audio Controller [10de:10f8] (rev a1) -65:00.2 USB controller [0c03]: NVIDIA Corporation TU104 USB 3.1 Host Controller [10de:1ad8] (rev a1) (prog-if 30 [XHCI]) -65:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller [10de:1ad9] (rev a1) ->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> -#모든 설비 코드 및 PCI id 기록(중복 코드 오직 한번 얻음) -#예: -#설비코드: -10de:1e82,10de:10f8,10de:1ad8,10de:1ad9 (중복 오직 한번 기록이면 됩니다 ) -#PCI id인터페이스(기기별 PCI인터페이스 다릅니다, 주의하여 기록하십시오) -17:00.0 -17:00.1 -17:00.2 -17:00.3 -65:00.0 -65:00.1 -65:00.2 -65:00.3 -``` - -3.vfio설정 및 직통용 GPU 분리 - -```bash -sudo vim /etc/modprobe.d/vfio.conf -#상기 수집한 설비 코드 정보 기입 (중복될겨우, 한번만 기입하면 됩니다): -options vfio-pci ids=10de:1e82,10de:10f8,10de:1ad8,10de:1ad9 -sudo vim /etc/modules-load.d/vfio-pci.conf -#이하 내용 기입 -vfio-pci kvmgt vfio-iommu-type1 vfio-mdev -#기기 다시 시작 -sudo reboot -``` - -4.GPU상태 확인 (모든 인터페이스 모두 검색 , vfio-pci점유되지 안는것을 방지합니다 - -```bash -#PCI인터페이스 내용 교체 주의 하십시오 ! -lspci -vv -s | grep driver -#예: -lspci -vv -s 17:00.0 | grep driver -lspci -vv -s 17:00.1 | grep driver -lspci -vv -s 17:00.2 | grep driver -lspci -vv -s 17:00.3 | grep driver - -#출력이 없으면 드라이버가 없을을 의미합니다. -#만약 Kernel driver in use: vfio-pci표시되면 불리 성공을 의미 합니다 -#만약 Kernel driver in user: snd_hda_intel와 유사내용 표시되면 설비는 다른 드라이버에 점유 됬음을 의미합니다 -``` - -PCI가 vfio-pci에 의해 점유되지 않은 경우 다음 단계로 진행하고, vfio-pci에 의해 점유된 PCI가 있으면 다음 단계를 건너뜁니다. - -- ip_forward전달 오픈여부 검사 - -/proc/sys/net/bridge/bridge-nf-call-iptables 및 /proc/sys/net/bridge/bridge-nf-call-ip6tables 모두 1인지 검사합니다 - -## 【F】 드라이버 Kernel driver in use: vfio-pci인 경우 다음 작업을 수행할 필요가 없습니다 ,단 바인딩 실패했을경우 계속 실행하십시오 - -1.기기 바인딩 해제 - -드라이버 Kernel driver in use: vfio-pci이 아닌 경우 기기 바인딩 해제(각 그룹 id 모두 바인딩 해제되어야 합니다. 다음은 예제입니다. 자체 검색된 pci 인터페이스에 따라 수정하십시오) - -```bash -#내용 교체에 주의 하십시오, 다음 명령은 데모용입니다 (점유된 모든 그래픽 카드 pci 인터페이스를 바인딩 해제해야합니다) -sudo -i -sudo echo 0000:17:00.0 > /sys/bus/pci/devices/0000\:17\:00.0/driver/unbind -sudo echo 0000:83:00.0 > /sys/bus/pci/devices/0000\:83\:00.0/driver/unbind -sudo modprobe vfio -sudo modprobe vfio-pci -sudo reboot -#기기 다시 시작 및 GPU가 다른 OMMU그룹에서 분리되였는지 및 현재 사용중인 vfio 구동프로그램을 검사합니다 -#실행 명령 검사 GPU가 다른 IOMMU그룹에서 분리되였는지 -find /sys/kernel/iommu_groups/*/devices/* -#그룹화 표시되면 정상입니다 -# PCI다시 검색(교체 주의),만약 아직도 vfio-pci로 검색 혹은 다른 내용 표시되면, 다음 단계를 진행하십시오 -lspci -vv -s 17:00.0 | grep driver -``` - -2.GPU수동 바인딩 - -```bash -#명령실행하여 바인딩 진행 (주의:echo뒤 내용은 기기에서 검색한 그래픽 카드id입니다 )이미 점유된 PCI는 추가 수동 바인딩 필요없습니다 -sudo -i -sudo echo 10de 1e82 > /sys/bus/pci/drivers/vfio-pci/new_id -sudo echo 10de 2206 >> /sys/bus/pci/drivers/vfio-pci/new_id -.………… - -#바인딩 완성후 다시 검사 (카드별 모든 항목 검사 필요 ) -lspci -vv -s 17:00.0 | grep driver -#만약Kernel driver in use : vfio-pci 표시되면,바인딩 성공을 의미합니다. 성공안됬으면 다시 돌아가서 검사합세요 -``` - -## 【G】기기그래픽 카드가 vfio-pci에 의해 점유되고 있음을 확인한 후 libvirtd 서비스를 시작하고 기기 자동 시작을 설정합니다(이 설정 단계는 매우 중요합니다 , 올바르게 구성되지 않은 경우 정확한 요청을 수신할 수 없습니다. 기계의 온체인 상태에 직접적인 영향을 미치고 임대에 영향을 미치며 손실발생합니다) - -1.virt tcp 수신 (감청)서비스 활성화 - -```bash -설정 파일 수정: -sudo vim /etc/libvirt/libvirtd.conf -아래 두줄 못찾으면, 앞부분 # 부호 삭제: -#listen_tls = 0 -#listen_tcp = 1 - -이줄 찾으면,앞부분 # 부호 삭세 ,sasl을 none으로 수정: -#auth_tcp = "sasl" ======> auth_tcp = "none" - -sudo vim /etc/default/libvirtd -#이에 따가 다음 설정으로 수정 (소문자 L) -libvirtd_opts="-l" -ubuntu 20.04관련,이하 단계 실행 필요 : -systemctl mask libvirtd.socket libvirtd-ro.socket libvirtd-admin.socket libvirtd-tls.socket libvirtd-tcp.socket -``` - -2.libvirtd를 시작하여 자동 시작 설정 및 서비스 상태 확인 - -```bash -sudo systemctl restart libvirtd.service -sudo systemctl enable libvirtd.service -systemctl status libvirtd -``` - -3.libvirtd 정상 작동 성공여부 테스트 진행 - -- virsh connect qemu+tcp://localhost:16509/system - -- 출력 잘못이 없을경우 작동 성공을 의마합니다 ; - - -## 【I】DBC성능노드 프로그램 설치 - -- 주의: DBC유저 설치 전환 필요 - - 1.dbc성능 노드 설치 스크립트 다운로드:http://112.192.16.27:9000/dbc/install_update_script/mainnet/install_mining.sh - - 2.설치 스크립트에 실행가능 권한 추가:명령줄에서 실행 :chmod +x ./install_mining.sh - - 3.설치 스크립트 운행 :명령줄에서 실행 ./install_mining.sh [설치목차] (설치 과정중, 유저가 2개의 로컬 수신감청 포트 번호 입력해야합니다) - -## 【J】미러이미지 모델 다운로드(/data 목차에 넣으면 dbc가 가상 기기 시작하고 /data 목차로 이동하여 검색합니다) - -http://112.192.16.27:9000/image 다운로드:ubuntu.qcow2 和 ubuntu-2004.qcow2 이두개의 미러이미지# - -## 【K】기기 아이디 및 개인키 백업(매우 중요합니다, 개인키 분실 시 담보된 코인의 50%가 손실되므로 여러곳에 백업해 두시기 바랍니다) - -목차에 dat/node.dat 파일을 설치 백업하여 안전한 곳에 보관하시고, 추후 리부팅하거나 DBC를 재설치 하실 경우에는 기존 아이디와 개인키를 사용하셔야 하며, 그렇지 않을 경우 담보된 코인이 차감됩니다. - -## 【L】앞부분 정상 설정 여부 검사 하기 위해 , 그래픽카드 직통의 가상기기 생성 및 테스트합니다 - -- 테스트 프로그램 다운로드 주소 :http://112.192.16.27:9000/dbc/package/check_env - -- 바이너리 파일, 실행 권한 추가 및 직접 실행: chmod 777 chec_env ; ./check_env - -- check vm domain_test successful녹색 표시되면 성공 의미, 표시 안되면 앞부분 설치 정확여부 검사 확인 합니다​ - -## 【M】기기의 각종 하드웨이 파라미터 지침 정상여부 검사 - -- 만약 O단계 검사 성공하면, 한개의 가상기기가 성공적으로 생성됩니다, ssh통해 등록하여 이 가상기기 내부에 진입합니다, 이중 : vm_local_ip는 가상기기 내부네트웍의 ip주소입니다,유저는 dbc,pwd후에는 등록 비밀번호 입니다 - - 1629202906(1) - -이후 cd 테스트 스크립트 목차로 이동, 운행: 【pytest .】, - -▶cd /test/dbc_gpu_server_test/ - -▶sudo -i (root유저로 전환) - -▶pytest . - -- 총 18항목 테스트 : - -▶10항목 유닛 테스트, CPU, 메모리, 하드 디스크, 그래픽 카드, 비디오 메모리, cuda 사용성 등 테스트; - -▶7항목 통합 테스트, 다양한 실제 사용 조건(예: pytorch 컴퓨팅, 교육 및 추론)이 정상적인지 테스트하고 잠재적인 하드웨어 오류 제거; - -▶1항목 벤치마크 속도테스트,열몇가지의 CNN네트웍 훈련 및 추론 테스트,10분동안 지속; - -▶ 빨간색 오류가 없으면 통과하고 빨간색 F / 오류가 있으면 오류에 해당하는 테스트 항목이 표시되며 정보에 따라 확인 가능; - -▶2080ti 카드 4개의 전체 테스트 과정은 약 10분 정도 소요되며, 테스트 시간 너무 길고 30분 이상초과시 기기에 문제가 있을 수 있으며 테스트가 사전에 종료될 수 있습니다. (종료되지 않은 경우 테스트가 완료된 후 오류가 보고됩니다); - -▶테스트 결과에서 short test summary info: 모두 통과하면 테스트가 통과되었음을 의미하고 한 항목이 실패할 경우 테스트가 실패했음을 의미하며 고장을 확인해야 합니다; - -▶종료 후 결과 폴더 생성 및 성능 보고서 내보내기; - -- 호스트 기기로 돌아가 테스트한 가상 기기를 종료하고 삭제합니다:./check_env --localip x.x.x.x (x.x.x.x는 가상기기 내부 네트웍 ip주소입니다,이단계 진행 안할경우, dbc프로그램에서 새로운 가상기기 작동이 불가합니다, 하여 메인넷 올릴수 없으며 검증도 못받습니다 ) - -- iptable명령 실행,기기 네트웍 방문 권한 오픈:(이단계 진행 안할경우, 외부에서 가상기기 방문 불가입니다 ) - - ▶iptables -D LIBVIRT_FWI 2 -t filter - -▶iptables -D LIBVIRT_FWO 2 -t filter - -## 【N】기기가 컴퓨팅 네트워크에 정상적으로 연결되었는지 확인합니다 - -- 클라이언트 노드를 구축하기위한 컴퓨팅 풀은 다음을 참조하십시오 :install_update_dbc_client_cn.md - -* 1분 후 클라이언트를 통해 기계 정보를 요청합니다. 기계 정보를 찾을 수 있으면 기계가 네트워크에 연결된 것입니다. 기계 정보를 요청하려면 다음을 참조하십시오:dbc_client_http_api - -* 클라이언트 노드 관련:각 컴퓨팅풀은 2개 이상의 클라이언트 노드를 구축하여 주주최측 또는 다른 컴퓨팅 풀에서 제공하는 노드가 오프라인 상태일지라도 네트워크가 정상임을 보장할 것을 권장합니다.만약 네트웍중 클라이언트 노드가 너무 적어 혹은 자주 오프상태일경우, 기기 임대에 영향을 미칩니다.클라이언트 노드 구축은 다른 서버의 컨테이너 작동으로 진행할수있으며, 많은 리소스를 차지하지 않습니다. - -- 클라이언트 노드는 컴퓨팅 파워 노드와 동일 기기에 배포할 수 있으므로 각 노드의 conf/core.conf 설정 파일에서 포트 번호를 중복되지 않도록 주의하십시오. - -## 【O】기기 온체인 - -https://github.com/DeepBrainChain/DBC-DOC/blob/master/chain_ops/bonding_machine.md#%E6%9C%BA%E5%99%A8%E4%B8%8A%E7%BA%BF%E6%AD%A5%E9%AA%A4 - - - -## DBC 방송 모니터링 - -> 채굴자는 머신이 유휴 상태일 때 자신이 사용하기 위해 가상 머신을 시작할 수 있지만, 사용자가 임대한 경우에는 사용 중인 가상 머신을 10초 이내에 종료해야 사용자에게 신고 및 처벌을 받을 수 없습니다. UDP 브로드캐스트 관련 메시지는 다음과 같습니다. - -+ dbc 노드는 인트라넷에서 장치 node_id와 해당 상태를 브로드캐스트합니다. -+ 브로드캐스트 주소: UDP 브로드캐스트 255.255.255.255 포트 55555 -+ 방송 콘텐츠: { "node_id": "xxx", "status": "renting" } - { "node_id": "xxx", "status": "비어 있음" } -+ 암호화 방식: base64 암호화 diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/install-update-dbc-client.md b/docs/ko/install-update-dbc-node/install-update-dbc/install-update-dbc-client.md deleted file mode 100644 index 973ce4186..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/install-update-dbc-client.md +++ /dev/null @@ -1,44 +0,0 @@ -# DBC고객측 설치 및 업그레이드 - -고객측 노드의 역할 - -- DBC 고객노드는 전체 네트워크에서 신뢰할 수 있는 사람의 역할을 하며 현재 네트워크에서 기능 노드를 올바르게 배포하는 기기를 검색가능합니다. 기능 노드가 배포된 후 http를 통해 고객노드를 요청하여 당신의 기능 노드가 고객 노드에 성공적으로 연결되었는지 확인할 수 있습니다. 고객 요청을 통해 기능 노드의 기기 ID를 성공적으로 볼 수 있으면 기능 노드를 성공적으로 배포했음을 의미합니다. - -- 제안: 주최측에서 제공되는 고객 노드는 온라인에서 영원히 안정적인 상태를 유지할 수 없으므로 각 컴퓨팅풀은 백업을 위해 두 개의 고객 노드를 구축하길 권장합니다, 동시에 DBC 네트워크 확장에 도움이 됩니다. - -- 팁: 고객노드는 하드웨어 장치에 대한 요구가 매우 낮으며, 공용 네트워크를 통해 액세스할 수 있는 한 정상적으로 실행할 수 있는 모든 공용 네트웍 서버로 구축할 수 있습니다,메모리도 거의 차지하지 않습니다. - -## A. DBC고객측 설치 - -​설치 환경 -sudo apt-get install libvirt-clients libvirt-daemon-system expect -y - -1. 설치 스크립트 다운로드: http://112.192.16.27:9000/dbc/install_update_script/mainnet/install_client.sh - -​2. install_client.sh 스크립트 문서에 집행 권한 추가 : - -chmod +x install_client.sh` - -​3.스크립트 설치 운행: - -./install_client.sh [설치목차]` - -설치 과정에서 사용자는 2개의 포트 번호를 입력해야 합니다 - - - -## B. DBC 고객측 업그레이드 - -1. 업그레이드 스크립트 다운로드: - -http://112.192.16.27:9000/dbc/install_update_script/mainnet/update_client.sh - -2.update_client.sh 스크립트 문서 진행권한 추가 : - -chmod +x update_client.sh` - -3.업그레이드 스크립트 운행: - -./update_client.sh [설치목차]` - - diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/multi-sig.md b/docs/ko/install-update-dbc-node/install-update-dbc/multi-sig.md deleted file mode 100644 index 9e5e23929..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/multi-sig.md +++ /dev/null @@ -1,67 +0,0 @@ -# 多重签名账户 - -## 什么是多重签名账户 - -- 可以在基于 Substrate 的链中创建多签名帐户。一个多签名账户由一个或多个地址和一个阈值组成。阈值定义了需要多少签名者(参与地址)同意提交外部信息才能使调用成功。 -- 例如,Alice、Bob 和 Charlie 设置了一个阈值为 2 的多重签名。这意味着即使 Charlie 不同意,Alice 和 Bob 也可以执行任何调用。同样,Charlie 和 Bob 可以在没有 Alice 的情况下执行任何调用。阈值通常是一个小于成员总数的数字,但也可以等于它,这意味着他们都必须达成一致。 - -## 多重签名账户的用途 - -- 保护您的财产安全:使用额外的签署人作为 2FA 机制来保护您的资金。一个签名者可以在一台计算机上,另一个可以在另一台计算机上,或者在冷存储中。这会减慢您与链的交互,但安全性高几个数量级。 -- 董事会决策:企业和基金会等法律实体使用多重签名来共同管理实体的财务。 -- 团体参与治理:多重签名账户可以做普通账户可以做的一切。多重签名帐户可以是 Kusama 治理中的理事会成员,其中一组社区成员可以作为一个实体进行投票。 - -* 注意:多重签名账户**创建后不可修改**。更改成员集或更改阈值是不可能的,而是需要解散当前的多重签名并创建一个新的多重签名。因此,多重签名帐户地址是**确定性的**,即您始终可以通过知道成员和阈值来计算多重签名的地址,而帐户尚不存在。这意味着可以将令牌发送到尚不存在的地址,如果指定为接收者的实体在匹配阈值下以新的多重签名聚集在一起,他们将立即可以访问这些令牌。 - -## 如何生成多重签名账户地址 - -### 以测试网为例 - -**要创建多重签名地址并使用它发送交易,您需要以下内容:** - -- 多重签名成员的地址列表。我们将使用 TEST、ADN 和 175。 -- DBC 存入多重签名地址。 -- 多签账户以及成员账户都需要有 DBC,来支付交易过程中产生的可退还押金以及手续费。 - - 1.您应该已经拥有自己的帐户,里面有一些硬币。 - -![multisig1](./images/multisig1.png) - -2.要生成多重签名地址,我们需要**将多重签名成员地址添加到**“帐户 > Address book”下的通讯录中。对于每个地址,单击右上角的“添加联系人”并提供地址和姓名 - -![2](./images/multisig2.png) - -3.**接下来,我们需要创建新的多重签名地址。**导航到帐户页面(从工具栏,“帐户> 帐户”)并单击“+ 多重签名”按钮。我们将通讯录内两个账户和自己的账户三个组为多签账户,阈值为“2”。(阈值要小于等于成员账户数量建议 2/3 3/5 等组合)单击创建,即可发现账户中多了一个多签账户,并为其转一些币。 - -![](./images/m3.png) - -4.\*\*要发送交易,我们需要其中一个成员来发起它。以 TEST 来发起交易演示。 - -确保 TEST 有足够的硬币来支付多重签名交易存款和交易费用。然后,点击“多签账户”下的“发送”,选择目的地址(我们在本地生成地址)和转账金额,点击“进行交易”。批准交易中产生的多重签名调用数据要复制出来,发送给多签账户中其他人,进行交易验证 - -![](./images/m4.png) - -5.您现在将看到“多重签名测试地址”(红色的“1”图标)的待处理交易,如果您单击 TEST 余额下的下拉菜单,您将看到相当于多重签名存款的值已被“保留”,呈现在多重签名交易完成之前,该值不可转让。 - -![](./images/m5.png) - -6.**接下来,我们需要第二个签名。**让我们从 ADN 那里得到它。在 ADN 的浏览器中,从上述步骤重复以下操作。 - -6.1. 将 175、TEST 和多重签名交易目标地址添加到 ADN 的地址簿。 -6.2. 使用相同的参数(ADN、TEST 和 175 的地址,阈值为“2”)创建一个新的多重签名地址。 - -> 注意:由于多重签名地址的生成是确定性的,如果 Bob(或任何其他成员)在他的计算机上使用 Alice、Charlie 和他的地址生成一个多重签名地址,阈值为“2”,他将生成**相同的**Alice 在这里拥有的多重签名地址。 - -如果操作正确,我们应该会看到 ADN 的浏览器中生成了**相同的**多重签名地址,并且还显示了一个待处理的交易。 - -接下来,为了获得 ADN 的签名,他需要通过提供相同的目标地址和转账金额(以及交易参数)、签名和提交来制作与 TEST 所做的相同的多重签名交易。TEST 通过上传交易哈希和哈希的签名来发起交易。这些交易参数将允许 AND 生成并签署 TEST 之前签署的相同交易(相同的哈希)。 - -> 即:如果不使用多重签名调用数据来验证通过交易的。可以使用另外一个账户作为交易发起人,向同一个收款账户发送同样多的币,也视为通过此次交易,你可以看到以下两种操作方式 - -![](./images/m6.png) - -- 这一个是需要填写我们第一位发起交易时产生的多重签名调用数据,并点击签名提交通过 - -![](./images/m7.png) - -- 这一个是我们没有收到多重签名调用数据,三个人都知道给目标账户转准确数额 DBC 时,可以采用点击`发送`---->`输入与第一个发起人同等数量的DBC`并签名提交即可通过此次交易。 diff --git a/docs/ko/install-update-dbc-node/install-update-dbc/update-dbc-compute-node.md b/docs/ko/install-update-dbc-node/install-update-dbc/update-dbc-compute-node.md deleted file mode 100644 index aa60ff251..000000000 --- a/docs/ko/install-update-dbc-node/install-update-dbc/update-dbc-compute-node.md +++ /dev/null @@ -1,13 +0,0 @@ -# DBC컴퓨팅 노드 업데이트 - -## 1. download update script: - -- http://112.192.16.27:9000/dbc/install_update_script/mainnet/update_mining.sh - -## 2. add executable permission: - -- `chmod +x update_mining.sh` - -## 3. run the script: - -- `./update_mining.sh [install_dir]` diff --git a/docs/ko/onchain-api/assets/Custom_RPC.assets/image-20210630233136723.png b/docs/ko/onchain-api/assets/Custom_RPC.assets/image-20210630233136723.png deleted file mode 100644 index c27fa1f89..000000000 Binary files a/docs/ko/onchain-api/assets/Custom_RPC.assets/image-20210630233136723.png and /dev/null differ diff --git a/docs/ko/onchain-api/assets/README.assets/image-20210813113734192.png b/docs/ko/onchain-api/assets/README.assets/image-20210813113734192.png deleted file mode 100644 index 5db9221fb..000000000 Binary files a/docs/ko/onchain-api/assets/README.assets/image-20210813113734192.png and /dev/null differ diff --git a/docs/ko/onchain-api/assets/README.assets/image-20211020111401731.png b/docs/ko/onchain-api/assets/README.assets/image-20211020111401731.png deleted file mode 100644 index 57ca2d80b..000000000 Binary files a/docs/ko/onchain-api/assets/README.assets/image-20211020111401731.png and /dev/null differ diff --git a/docs/ko/onchain-api/dbc-rpc-readme.md b/docs/ko/onchain-api/dbc-rpc-readme.md deleted file mode 100644 index 6758a8219..000000000 --- a/docs/ko/onchain-api/dbc-rpc-readme.md +++ /dev/null @@ -1,121 +0,0 @@ -# DBC-Blockchain mainnet RPC description - -## 1. RPC description - -### 1.1 Applicable version - -This document applies to dbc mainnet, mainnet branch [`master`](https://github.com/DeepBrainChain/DeepBrainChain-MainChain),websocket: `wss://info.dbcwallet.io` - -### 1.2 Build your own RPC node - -In addition to using the `websocket interface` provided by DBC, you can also build your own sync node and use the `websocket` or `HTTP interface` provided by your own node to obtain data. - -```bash -# Rust compilation environment -curl https://getsubstrate.io -sSf | bash -s -- --fast -source ~/.cargo/env - -# compile dbc-chain -git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git && cd DeepBrainChain-MainChain -git checkout v2.3 -cargo build --release - -# run sync node: -./target/release/dbc-chain --base-path ./db_data --pruning archive --rpc-cors all --no-mdns - -# Port: ---rpc-port 9933 # Specify the port on which your node listens for RPC. 9933 is the default value, so this parameter can also be ignored ---ws-port 9945 # Specify the port your node uses to listen for WebSocket. The default port is 9944 ---port 30333 # Specify the node port you use to listen for p2p traffic. 30333 is the default port, if you don’t need to change it, you can ignore this flag -``` - -After running the sync node in the above method, you can call the websocket interface through `ws://127.0.0.1:9945`, and call the http interface through `http://127.0.0.1:9933`. - -If you want to access remotely, you need to configure the domain name for websocket or http to support `wss` or `https` - -Example of using the HTTP interface to obtain data, you can view `dbc_chain_rpc.postman_collection.json` in this folder, and import Postman for viewing. - -### 1.3 RPC request format - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": method_name, - "params": [params_1, params_2, ...] -} -``` - -Among them, `method_name` is the name of the RPC method, and params_1, params_2... are replaced with the required parameters. - -For example, use Postman to connect to websocket to query `block information`: - -> Postman creates websocket API: https://blog.postman.com/postman-supports-websocket-apis/ -> -> ![image-20211020111401731](./assets/README.assets/image-20211020111401731.png) - -### 1.4 How to access historical data on the chain - -In 1.3, the acquired data is the current state of the chain. If you want to get the status at a certain time in the past, you need to pass in the Hash of the corresponding block at a certain time. - -If you want to view the data two days ago, add the block Hash two days ago to the last parameter of the "params" field of the post request. - -### 1.5 RPC documents not included - -This document only contains the DBC mainnet **`custom RPC description`**, if you want to view **`Polkadot native RPC document description`**, you can refer to: https://polkadot.js.org/ docs/substrate/rpc/; - -### 1.6 View all supported RPC methods - -Go to the dbc web wallet: https://www.dbcwallet.io/, click on the left to switch networks, and in the custom terminal, enter the websocket address. Then navigate to `RPC calls` as shown below to view all RPCs supported by the blockchain. As shown in the figure, select the `methods` method of the `rpc` module, click on the right side of `Submit RPC Call`, and all RPC method names will be listed. - -![](./assets/README.assets/image-20210813113734192.png) - -## 2. **About `Block height`, reward distribution time, and description of `Era`** - -The block height is the time on the chain. - -### 2.1 Get the current block height - -- Methods: `chain_getBlock` - -- How to call: - - ```json - { - "jsonrpc": "2.0", - "id": 1, - "method": "chain_getBlock", - "params": [] - } - ``` - -- Result: - - ```json - { - "jsonrpc": "2.0", - "result": { - "block": { - ... - "header": { - ... - "number": "0x2d8", - "parentHash": "0xc0e1b239fafc0edf3e08a908b5caecb27c2b351ed0daef3fc60c5600b28d6d7d", - "stateRoot": "0x55ce4794b2cdd21275656a80febf5133d882d909a2de6d40d7b8887bd65628bc" - } - }, - "justification": null - }, - "id": 1 - } - ``` - - "number": "0x2d8" is block height. Convert to decimal :728 - -### 2.2 Era and reward distribution time - -- 1 Era is 2880 blocks in height, which is about 1 day on the DBC blockchain. The time for issuing rewards is the time interval of the block chain height `[2880*n, 2880*n+60]`. - -- Machines that go online on the nth Era will be issued at the end of n+1 Era. That is, if the machine that goes online on Era2 is [5761, 8640], the rewards will be issued in the interval of 60 blocks before the start of Era4, that is, the rewards of Era3 will be distributed when `2880*4=11520`. You can check the rewards of Era3 later, for example, through the erasMachineReleasedReward method, check the rewards obtained by era3 machines. - -- On the current mainnet, [529920, 532800] is Era1, and [532801, 535680] is Era2... diff --git a/docs/ko/onchain-api/dbc-rpc.md b/docs/ko/onchain-api/dbc-rpc.md deleted file mode 100644 index 516471a48..000000000 --- a/docs/ko/onchain-api/dbc-rpc.md +++ /dev/null @@ -1,716 +0,0 @@ -# DBC-Blockchain Mainnet RPC - -> For the method of sending RPC requests, please refer to the previous article. -> -> Not all data on the chain has an RPC interface. If the data you want to query (including historical data) is not exposed through RPC, you can obtain the corresponding data by querying the storage on the chain. - -## 1. onlineProfile Module - -onlineProfile Module records the information of the machine's online rewards - -### 1.1 Query all machines controlled by a certain stash account - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStakerInfo", - "params": ["5FEio5dgXeXsASdo3Wh5DQ8zfbRfQJTXYmFkCbSCFk2qsTt6"] # (stash account) -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bondedMachines": [ - { - "calcPoint": 51775, # Machine power points - "gpuNum": 4, # Machine GPU Num - "machineId": "7a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f", # Machine ID - "machineStatus": "online" # The current state of the machine - }, - { - "calcPoint": 51775, - "gpuNum": 4, - "machineId": "8a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f", - "machineStatus": "online" - }, - { - "calcPoint": 94143, - "gpuNum": 4, - "machineId": "9a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f", - "machineStatus": "online" - } - ], - "stashStatistic": { - "canClaimReward": "664079816723400000", # DBC rewards that can be received - "onlineMachine": [ # Online machine - "7a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f" - ], - "totalBurnFee": "0", # The number of rents destroyed after the start of the Galaxy Contest - "totalCalcPoints": 197930, # Machine total calc Points - "totalClaimedReward": "0", # Reward already received - "totalEarnedReward": "2656319266893600000", # Rewards already rewarded - "totalGpuNum": 12, # GPU bond to stash account - "totalMachine": [ # Stash account Bound machine - "7a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f" - ], - "totalRentFee": "0", # Machine obtained rent fee - "totalRentedGpu": 0 # Number of rented GPUs - } - }, - "id": 1 -} -``` - -### 1.2 Query machine's total reward of a certain Era - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getMachineEraReward", - "params": [ - "ee0d003006f8ddbccb97dff96bcb4bee1b8c1aeaf7c64e0ca9d0f31752d17875", # Machine ID - 1 # Which Era - ] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": "123456", # Era 1 Total rewards obtained by the machine - "id": 1 -} -``` - -### 1.3. Query machine's unlocked reward of a certain Era - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getMachineEraReleasedReward", - "params": [ - "ee0d003006f8ddbccb97dff96bcb4bee1b8c1aeaf7c64e0ca9d0f31752d17875", 1] # Machine ID;Which Era -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": "123456", # Era 1 Rewards for unlocking the machine - "id": 1 -} -``` - -### 1.4 Query stash account total reward of a certain Era - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStashEraReward", - "params": ["5DhR2dxiPZquPhFjfPzFg5jZENdr375hbX643kr9FBXMVa2z", 1] # Stash account; the number of Era -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": "123456", # Era 1 Reward for this stash account - "id": 1 -} -``` - -### 1.5. Query stash account's unlocked reward of a certain Era - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStashEraReward", - "params": ["5DhR2dxiPZquPhFjfPzFg5jZENdr375hbX643kr9FBXMVa2z", 1] # Stash account; the number of Era -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": "123456", # The stash's unlocked reward of Era 1 - "id": 1 -} -``` - -### 1.6. Query machine details - -- Example - -```json -{ - "jsonrpc":"2.0", - "id":1, - "method":"onlineProfile_getMachineInfo", - "params": ["ee0d003006f8ddbccb97dff96bcb4bee1b8c1aeaf7c64e0ca9d0f31752d17875"] # Machine ID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bondingHeight": 531155, # Machine onchain time - "controller": "5FTWuKEDhPsRWaeK5Jfn68a6rEFPsW8AAVF5YtfqNrznTWfv", # Machine control account - "initStakePerGpu": "100000000000000000000", # The number of pledges per card when it is on the chain - "lastMachineRenter": "5D45i3Ac4fXoimZQETJVMyYu79tAYzt4xQzEwzNLfirhsbg5", # Last machine renter - "lastMachineRestake": 537808, # Machine pays all staking time - "lastOnlineHeight": 580412, # The last time the machine was online - "machineInfoDetail": { # Machine details info - "committee_upload_info": { - "calc_point": 60775, - "cpu_core_num": 64, - "cpu_rate": 2900, - "cpu_type": "Intel(R) Xeon(R) Silver 4214R", - "cuda_core": 8704, - "data_disk": 1800, - "gpu_mem": 10, - "gpu_num": 4, - "gpu_type": "GeForceRTX2080Ti", - "is_support": true, - "machine_id": "7a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f", - "mem_num": 471, - "rand_str": "", - "sys_disk": 350 - }, - "staker_customize_info": { # Other machine information - "download_net": 20, - "latitude": { - "North": 306667 - }, - "longitude": { - "East": 1040667 - }, - "server_room": "0x6465f54d26f4b406261e7e5201a4a17551ad4d27448609f2d7cdcb75b413524c", - "telecom_operators": ["China Unicom"], - "upload_net": 20 - } - }, - "machineStash": "5HWSG8FXkCSe4NgwzbnA64nT5bmRFKRKgbSKj2X8Pe7KyYcQ", # Machine stash Account - "machineStatus": "rented", # The current state of the machine - "onlineHeight": 537808, # Machine online time - "rewardCommittee": [ # List of committees that can receive machine online rewards - "5EfFToHMVc3SEzJCiSisAMMu3zVMsufaxWwNECUM3k2qUEFQ", - "5G3oJ8cGv4mhzRvtoBtGG9cX3MTNKxNTcMNAVykxA5ZFz8wi", - "5GGcwSx1xb4tpCfopfk8kSmJNQ6qpH38yjFVLEYYqdnECwcX" - ], - "rewardDeadline": 733, # Committee award end time(era) - "stakeAmount": "400000000000000000000", # Number of machine pledges - "totalBurnFee": "0", # The number of rents destroyed due to the start of the Galaxy Contest - "totalRentFee": "60329673396778369975", # Total rent fee - "totalRentedDuration": 14, # Total rented duration - "totalRentedTimes": 2 # Total rented time - }, - "id": 1 -} -``` - -### 1.7. Check the number of stash accounts - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStakerNum", - "params": [] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": 13, # Number of Stash(>=1台机器) - "id": 1 -} -``` - -### 1.8. View all machines in a list - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getMachineList", - "params": [] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bondingMachine": [], - "bookedMachine": [ - "7a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef12" - "9a79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1f" - "aa79fd95e89c3db2e8bc052cb307d4130f6750cb715c44639e2c3faa7217ef1d" - ], - "confirmedMachine": [], - "fulfillingMachine": [], - "offlineMachine": [], - "onlineMachine": [], - "refusedMachine": [], - "refusedMutHardwareMachine": [], - "rentedMachine": [] - }, - "id": 1 -} -``` - -### 1.9 View onlineProfile module statistics - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getOpInfo", - "params": [] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "totalBurnFee": "0", - "totalCalcPoints": 21389044, - "totalGpuNum": 961, - "totalRentFee": "15509145941941806044301", - "totalRentedGpu": 937, - "totalStake": "96215000000000000000000", - "totalStaker": 13 - }, - "id": 1 -} -``` - -### 1.10 Get the identity on the account chain - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStakerIdentity", - "params": ["5CqTCD23gTbfmP8s6g1ehbJ66i6wi4Er4AguAw7yggDAKmPu"] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": "Alice", - "id": 1 -} -``` - -### 1.11 Get stash account statistics - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getStakerListInfo", - "params": [0, 5] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": [ - { - "calcPoints": 10045876, - "index": 0, - "stakerAccount": "5CsRZJCDiFJbZas6m2NnuYpBqo9gYv2nixHbzGLUVGdgx94w", - "stakerName": "Alice", - "totalBurnFee": "0", - "totalGpuNum": 400, - "totalReleasedReward": "3058070375932000902000", - "totalRentFee": "6923734258518997224842", - "totalRentedGpu": 400, - "totalReward": "10311175917767854800000" - }, - { - "calcPoints": 3153803, - "index": 2, - "stakerAccount": "5HJugpuDxQGKLJwmv6K5eWFepDPkhPbwyTDR5vKjCv1MwUcS", - "stakerName": "Bob", - "totalBurnFee": "0", - "totalGpuNum": 132, - "totalReleasedReward": "1392103944062414253000", - "totalRentFee": "2669666089085907226556", - "totalRentedGpu": 132, - "totalReward": "4458201216316382700000" - }, - { - "calcPoints": 617340, - "index": 4, - "stakerAccount": "5Gg1z77NCrUNyV4c5rm9tb3x27rYjBVYh74UrVNJh1TJGsx4", - "stakerName": "Eve", - "totalBurnFee": "0", - "totalGpuNum": 28, - "totalReleasedReward": "279809088882620814000", - "totalRentFee": "527263236025890876875", - "totalRentedGpu": 28, - "totalReward": "893193550619416200000" - } - ], - "id": 1 -} -``` - -### 1.12 Get statistics by location - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineProfile_getPosGpuInfo", - "params": [] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": [ - [ - { - "East": 1182946 - }, - { - "North": 340643 - }, - { - "offlineGpu": 0, - "onlineGpu": 400, - "onlineGpuCalcPoints": 7496900, - "rentedGpu": 400 - } - ], - [ - { - "East": 1399262 - }, - { - "North": 353817 - }, - { - "offlineGpu": 0, - "onlineGpu": 1, - "onlineGpuCalcPoints": 21029, - "rentedGpu": 1 - } - ] - ], - "id": 1 -} -``` - -## 2. Committee Module - -### 2.1 committee_getCommitteeList - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "committee_getCommitteeList", - "params": [] -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "chillList": ["5GGcwSx1xb4tpCfopfk8kSmJNQ6qpH38yjFVLEYYqdnECwcX"], # Committees that currently stop taking orders - "fulfillingList": [], - "normal": [ # Committees in a normal state - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "5DdA3eHdWKuHLjqEquKQzyvhumNBEN32RxRWkuuaFvda474S", - "5EfFToHMVc3SEzJCiSisAMMu3zVMsufaxWwNECUM3k2qUEFQ", - "5EhZqXq9objj6Qf7DzCxmjZfUHUbZh9JK5Xb3DgKmpvjyMMV", - "5FyU86E1arMRNwdxtRJvBs6qX4Y1o1UB2TXHUV3ZJcmQVkQK", - "5G3oJ8cGv4mhzRvtoBtGG9cX3MTNKxNTcMNAVykxA5ZFz8wi", - "5GFCgrhHv2jwimWZAgnDzSdvJocDzEadCk78B5AZJc5tYSYp", - "5Gy6ANnyoWwo6WxuN5Vxz5hogY2JXg51FZbR99gYtQ49qckW", - "5HDjo1p7DNmfXsjvcAjFogQ8Ue8fNb26Z1RAD9XqmWrKETFk" - ], - "waitingBoxPubkey": ["5Gv3FyFA7bFbUqqgXWXwkgCkazMaaBpfbVnwtVVRP5vgUYRs"] # Committees that has not been set up boxPubkey - }, - "id": 1 -} -``` - -## 3. OnlineCommittee Module - -### 3.1 Get the list of committees assigned by the machine - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineCommittee_getMachineCommitteeList", - "params": ["38f4a824e0dc1fc5a9a7dccff53417b300fc0edad208176d8770597d98f6eb5c"] # Machine ID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bookTime": 533682, # Order Dispatch time - "bookedCommittee": [ # Order Dispatch committee - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "5DdA3eHdWKuHLjqEquKQzyvhumNBEN32RxRWkuuaFvda474S", - "5Gy6ANnyoWwo6WxuN5Vxz5hogY2JXg51FZbR99gYtQ49qckW" - ], - "confirmStartTime": 538002, # Time to submit original machine information - "confirmedCommittee": [ # The committee that has submitted the original value - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "5DdA3eHdWKuHLjqEquKQzyvhumNBEN32RxRWkuuaFvda474S", - "5Gy6ANnyoWwo6WxuN5Vxz5hogY2JXg51FZbR99gYtQ49qckW" - ], - "hashedCommittee": [ # The committee that has submitted the machine information hash - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "5DdA3eHdWKuHLjqEquKQzyvhumNBEN32RxRWkuuaFvda474S", - "5Gy6ANnyoWwo6WxuN5Vxz5hogY2JXg51FZbR99gYtQ49qckW" - ], - "onlinedCommittee": [ # The machine is successfully online and committee will be rewarded - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "5DdA3eHdWKuHLjqEquKQzyvhumNBEN32RxRWkuuaFvda474S", - "5Gy6ANnyoWwo6WxuN5Vxz5hogY2JXg51FZbR99gYtQ49qckW" - ], - "status": "finished" # Order Dispatch status - }, - "id": 1 -} -``` - -### 3.2 Get the committee's review time for the machine - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onlineCommittee_getCommitteeOps", - "params": [ - "5D1vwMoK1DjBF7pfApKjT9Gi5C4DKHvZMztFRhTsMqo71B8r", - "74339d3413c1386d23d92e55586ccf25090c7eb762928f9bc69799b677f65f51" - ] # Committee Account ID; Machine ID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bookedTime": 600340, # Order Dispatch time - "confirmHash": "0x00000000000000000000000000000000", # Submitted machine information Hash - "confirmTime": 0, - "hashTime": 0, - "machineInfo": { # Submitted machine information - "calc_point": 0, - "cpu_core_num": 0, - "cpu_rate": 0, - "cpu_type": [], - "cuda_core": 0, - "data_disk": 0, - "gpu_mem": 0, - "gpu_num": 0, - "gpu_type": "NVIDIA GeForce GTX 3080", - "is_support": false, - "machine_id": "74339d3413c1386d23d92e55586ccf25090c7eb762928f9bc69799b677f65f51", - "mem_num": 0, - "rand_str": "abc", - "sys_disk": 0 - }, - "machineStatus": "booked", - "stakedDbc": "1000000000000000000", - "verifyTime": [600820, 602260, 603700] - }, - "id": 1 -} -``` - -### 3.3 Get a list of all the machines dispatched by the committee - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "onilneCommittee_getCommitteeMachineList", - "params": ["5Gv3FyFA7bFbUqqgXWXwkgCkazMaaBpfbVnwtVVRP5vgUYRs"] # Committee Account ID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "bookedMachine": [], # Current dispatched order - "confirmedMachine": [], # List of machines that submitted the original info - "hashedMachine": [], # The list of machines that submitted the Hash - "onlineMachine": [] # Machines that are now online - }, - "id": 1 -} -``` - -## 4. RentMachine Modul - -### 4.1 Get rentOrder ID of Machine - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "rentMachine_getMachineRentId", - "params": ["0edac3b0263dd09538717bb0f5bf3f1bced70d7e017239d6f307b0801220c022"] # MachineID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "rentOrder": [889], # Machine rentOrder Id - "usedGpu": [0, 1, 2, 3] # Used GPU - }, - "id": 1 -} -``` - -### 4.2 View machine rental information - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "rentMachine_getRentOrder", - "params": [1] # RentOrder ID -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": { - "confirmRent": 1600590, - "gpuIndex": [0, 1, 2, 3], - "gpuNum": 4, - "machineId": "0edac3b0263dd09538717bb0f5bf3f1bced70d7e017239d6f307b0801220c022", - "rentEnd": 1635148, - "rentStart": 1600588, - "rentStatus": "renting", - "renter": "5GETYD36iceKpKf1fpKdTwtToh4MskTt5RsuouYTGxmrcouC", - "stakeAmount": "0" - }, - "id": 1 -} -``` - -### 4.3 View the list of `Rent Order` of an account - -- Example - -```json -{ - "jsonrpc": "2.0", - "id": 1, - "method": "rentMachine_getRentList", - "params": ["5E7123qZExgZaYKnmTcJacu68c2GbLeSHo9qNWmUWcaw4RSR"] # Renter Account -} -``` - -- Explanation of results - -```json -{ - "jsonrpc": "2.0", - "result": [0, 1], # Rent OrderId - "id": 1 -} -``` diff --git a/docs/ko/onchain-api/dbc-storage.md b/docs/ko/onchain-api/dbc-storage.md deleted file mode 100644 index 16d7afca7..000000000 --- a/docs/ko/onchain-api/dbc-storage.md +++ /dev/null @@ -1,86 +0,0 @@ -# Onchain Storage - -## onlineProfile Module - -### value - -| Storage | Type | Description | -| :-------------------- | :--------------------- | :------------------------------------------------------------ | -| onlineStakeParams | OnlineStakeParamsInfo | | -| standardGpuPointPrice | StandardGpuPointPrice | A standard example for rent fee calculation(price: USD\*10^6) | -| galaxyIsOn | bool | If galaxy competition is begin: switch 5000 gpu | -| galaxyOnGpuThreshold | 5000 | | -| sysInfo | SysInfoDetail | Statistics of gpu and stake | -| nextSlashId | u64 | | -| allMachineIdSnap | AllMachineIdSnapDetail | The machine that will give out rewards | -| phaseRewardInfo | PhaseRewardInfoDetail | | -| liveMachines | LiveMachine | Machine with data stored in the system | -| currentEra | EraIndex | Current day in this Module (2880 Block/Era) | - -### Map - -| Storage | KeyType | ValueType | Description | -| :------------------ | :-------- | :---------------------------------------- | :--------------------------------------------------- | -| stashController | AccountId | AccountId | | -| controllerStash | AccountId | AccountId | | -| machinesInfo | MachineId | MachineInfo | Detail info of machines | -| stashMachines | AccountId | StashMachine | Statistics of stash account | -| stashServerRooms | AccountId | `Vec` | Server rooms in stash account | -| controllerMachines | AccountId | `Vec` | All machines controlled by controller | -| erasStashPoints | EraIndex | EraStashPoints | Current Era snapshot of score for each stash account | -| erasMachinePoints | EraIndex | `BTreeMap` | Current Era snapshot of the score of each machine | -| stashStake | AccountId | Balance | Total staking of funds account | -| machineRecentReward | MachineId | MachineRecentRewardInfo | store max 150 era reward | -| eraReward | EraIndex | Balance | | -| pendingSlash | u64 | OPPendingSlashInfo | | -| pendingSlashReview | SlashId | OPPendingSlashReviewInfo | | -| rentedFinished | MachineId | AccountId | | - -### DoubleMap - -| 存储 | 键类型 | 值类型 | 说明 | -| :------------------------ | :-------------------- | :----------------------- | :----------------------------------------------------- | -| userMutHardwareStake | (AccountId,MachineId) | UserMutHardwareStakeInfo | Reonline to change hardware, should stake some balance | -| posGpuInfo | (Longitude, Latitude) | PosInfo | Statistics of gpu in one position | -| erasMachineReward | (EraIndex, MachineId) | Balance | Total rewards obtained by machine in an Era | -| erasMachineReleasedReward | (EraIndex,MachineId) | Balance | The total machine reward released in an Era | -| erasStashReward | (EraIndex, AccountId) | Balance | Total stash rewards received by a certain Era | -| erasStashReleasedReward | (EraIndex, AccountId) | Balance | Total stash rewards unlocked by a certain Era | - -## onlineCommittee 模块 - -### Value - -| Storage | Type | Description | -| :------------- | :------------- | :---------- | -| nextSlashId | u64 | | -| unhandledSlash | `Vec` | | - -### Map - -| Storage | KeyType | ValueType | Description | -| :------------------ | :---------------------- | :----------------------- | :--------------------------------------------------------------------------------- | -| committeeMachine | AccountId | OCCommitteeMachineList | A machine that stores the different confirmation stages of the user's subscription | -| machineCommittee | MachineId | OCMachineCommitteeList | | -| machineSubmitedHash | MachineId | `Vec<[u8; 16]>` | | -| committeeOps | `(AccountId,MachineId)` | OCCommitteeOps | | -| pendingSlash | SlashId | OCPendingSlashInfo | | -| pendingSlashReview | SlashId | OCPendingSlashReviewInfo | | - -## rentMachine Module - -### Map - -| Storage | KeyType | ValueType | Description | -| :------------------ | :---------- | :--------------- | :----------------------------------------------------------------- | -| userRented | AccountId | `Vec` | Store the list of machines currently rented by the user | -| rentOrder | MachineId | RentOrderDetail | Details of a machine currently rented by the user | -| pendingConfirming | MachineId | AccountId | Waiting for the user to confirm the successful rent of the machine | -| pending_rent_ending | BlockNumber | `Vec` | Record the machine that will end the rent at each block | -| userTotalStake | AccountId | Balance | Store the total pledge amount of each user in the module | - -### Value - -| storage | Type | Description | -| :--------- | :-------- | :---------------------------------------------------------------------------------------------------------- | -| rentFeePot | AccountId | Rent payment destination address (after the Galaxy Contest is opened, use this account to destroy the rent) | diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870420-b790637c-cab6-44f9-ba00-493eadc951cd.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/133870420-b790637c-cab6-44f9-ba00-493eadc951cd.png deleted file mode 100644 index af462a502..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870420-b790637c-cab6-44f9-ba00-493eadc951cd.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870573-04dbcb84-9112-4837-b8e4-20db8538c079.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/133870573-04dbcb84-9112-4837-b8e4-20db8538c079.png deleted file mode 100644 index dc14b3ed7..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870573-04dbcb84-9112-4837-b8e4-20db8538c079.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870889-61976abb-ae6b-4cd6-97e3-9e9205745346.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/133870889-61976abb-ae6b-4cd6-97e3-9e9205745346.png deleted file mode 100644 index 98a7129ab..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/133870889-61976abb-ae6b-4cd6-97e3-9e9205745346.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/133871452-06dde25a-9691-44dc-b35b-124dbece44fd.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/133871452-06dde25a-9691-44dc-b35b-124dbece44fd.png deleted file mode 100644 index 7b8216518..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/133871452-06dde25a-9691-44dc-b35b-124dbece44fd.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/apifox.jpg b/docs/ko/onchain-guide/assets/Machine_verification.assets/apifox.jpg deleted file mode 100644 index 117db14fa..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/apifox.jpg and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/delete.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/delete.png deleted file mode 100644 index 0e6ce33ac..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/delete.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164137286.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164137286.png deleted file mode 100644 index ff713fa43..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164137286.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164631426.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164631426.png deleted file mode 100644 index 0b3755c15..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601164631426.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165736511.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165736511.png deleted file mode 100644 index fe757106b..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165736511.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165851303.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165851303.png deleted file mode 100644 index 6af8ca251..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210601165851303.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399-16400826070725.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399-16400826070725.png deleted file mode 100644 index 4dad2d499..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399-16400826070725.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399.png deleted file mode 100644 index 4dad2d499..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20210623145108399.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112744070.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112744070.png deleted file mode 100644 index 3f317b033..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112744070.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112948942.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112948942.png deleted file mode 100644 index 72e40a1ec..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020112948942.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020113330231.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020113330231.png deleted file mode 100644 index 15d3f0b9b..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/image-20211020113330231.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/nvidia.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/nvidia.png deleted file mode 100644 index ee82602df..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/nvidia.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/task_info.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/task_info.png deleted file mode 100644 index b4aad6672..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/task_info.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_verification.assets/test_create.png b/docs/ko/onchain-guide/assets/Machine_verification.assets/test_create.png deleted file mode 100644 index ba92ab3ee..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_verification.assets/test_create.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15-16284796475672.png b/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15-16284796475672.png deleted file mode 100644 index afc181027..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15-16284796475672.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15.png b/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15.png deleted file mode 100644 index afc181027..000000000 Binary files a/docs/ko/onchain-guide/assets/Machine_winding_steps_english.assets/2021-08-09_11-15.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15-16284796321311.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15-16284796321311.png deleted file mode 100644 index afc181027..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15-16284796321311.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15.png deleted file mode 100644 index afc181027..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-08-09_11-15.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-58.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-58.png deleted file mode 100644 index 237474902..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-58.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-59.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-59.png deleted file mode 100644 index a682b60e9..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/2021-09-13_09-59.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/creat_vm.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/creat_vm.png deleted file mode 100644 index 82524dc0b..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/creat_vm.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/delete.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/delete.png deleted file mode 100644 index 0e6ce33ac..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/delete.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/find_machine b/docs/ko/onchain-guide/assets/bonding_machine.assets/find_machine deleted file mode 100644 index 439f5b4bd..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/find_machine and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164137286.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164137286.png deleted file mode 100644 index ff713fa43..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164137286.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164631426.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164631426.png deleted file mode 100644 index 0b3755c15..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601164631426.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165736511.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165736511.png deleted file mode 100644 index fe757106b..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165736511.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165851303.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165851303.png deleted file mode 100644 index 6af8ca251..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210601165851303.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621162810500.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621162810500.png deleted file mode 100644 index 2e2f6611d..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621162810500.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621163934098.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621163934098.png deleted file mode 100644 index 1418c2dd8..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621163934098.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621164107038.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621164107038.png deleted file mode 100644 index 0851241a1..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210621164107038.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210622151757950.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210622151757950.png deleted file mode 100644 index fc2817ee4..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210622151757950.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623143656481.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623143656481.png deleted file mode 100644 index bf38ebf5b..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623143656481.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623144049700.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623144049700.png deleted file mode 100644 index 58a89d7dc..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623144049700.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623145108399.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623145108399.png deleted file mode 100644 index 4dad2d499..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210623145108399.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629104434008.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629104434008.png deleted file mode 100644 index ab9b7fa39..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629104434008.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105650360.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105650360.png deleted file mode 100644 index def6f8292..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105650360.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105837275.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105837275.png deleted file mode 100644 index 78f09b50d..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629105837275.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110250436.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110250436.png deleted file mode 100644 index 9208df3a0..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110250436.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110344708.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110344708.png deleted file mode 100644 index 9208df3a0..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210629110344708.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707140400114.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707140400114.png deleted file mode 100644 index 5091a5834..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707140400114.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707143303202.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707143303202.png deleted file mode 100644 index 50b3d80c4..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210707143303202.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714140945243.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714140945243.png deleted file mode 100644 index e50e52181..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714140945243.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714141352887.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714141352887.png deleted file mode 100644 index 0a5ebb914..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210714141352887.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817113419015.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817113419015.png deleted file mode 100644 index 6ef8d0984..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817113419015.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114537368.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114537368.png deleted file mode 100644 index a3ff91a2e..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114537368.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114925965.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114925965.png deleted file mode 100644 index e9f126802..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817114925965.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817115411030.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817115411030.png deleted file mode 100644 index 13675ec5c..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/image-20210817115411030.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/import_file.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/import_file.png deleted file mode 100644 index eed64077d..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/import_file.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/machine_status.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/machine_status.png deleted file mode 100644 index 92967b8c7..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/machine_status.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/nvidia.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/nvidia.png deleted file mode 100644 index ee82602df..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/nvidia.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/offline.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/offline.png deleted file mode 100644 index 1d89aa5b7..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/offline.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/postman_machine.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/postman_machine.png deleted file mode 100644 index 648670964..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/postman_machine.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/rent_machine.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/rent_machine.png deleted file mode 100644 index 62d5b3d4f..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/rent_machine.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/see_task.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/see_task.png deleted file mode 100644 index 1535fab55..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/see_task.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/task_info.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/task_info.png deleted file mode 100644 index b4aad6672..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/task_info.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/bonding_machine.assets/test_create.png b/docs/ko/onchain-guide/assets/bonding_machine.assets/test_create.png deleted file mode 100644 index ba92ab3ee..000000000 Binary files a/docs/ko/onchain-guide/assets/bonding_machine.assets/test_create.png and /dev/null differ diff --git "a/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" "b/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" deleted file mode 100644 index e8c40ad6e..000000000 Binary files "a/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-25-33.414Z.png" and /dev/null differ diff --git "a/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" "b/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" deleted file mode 100644 index 6556a7cd3..000000000 Binary files "a/docs/ko/onchain-guide/assets/bonding_machine.assets/\347\201\253\347\213\220\346\210\252\345\233\276_2021-06-01T08-29-58.877Z.png" and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121193337378.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121193337378.png deleted file mode 100644 index 6dfb064c5..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121193337378.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194158808.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194158808.png deleted file mode 100644 index 445c720b4..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194158808.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194808850.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194808850.png deleted file mode 100644 index 04d8b33bc..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194808850.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194953014.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194953014.png deleted file mode 100644 index f5028b36b..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121194953014.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195033167.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195033167.png deleted file mode 100644 index d9355970b..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195033167.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195307711.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195307711.png deleted file mode 100644 index a80347540..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121195307711.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121200709277.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121200709277.png deleted file mode 100644 index 8b1353e11..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121200709277.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234245879.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234245879.png deleted file mode 100644 index e901f386a..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234245879.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234945030.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234945030.png deleted file mode 100644 index bdd03ccf7..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121234945030.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235144583.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235144583.png deleted file mode 100644 index ab05beb7a..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235144583.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235217665.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235217665.png deleted file mode 100644 index ce8f194d0..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235217665.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235451552.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235451552.png deleted file mode 100644 index b5d8f5833..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235451552.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235916809.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235916809.png deleted file mode 100644 index bcc53a3ae..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210121235916809.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210122091057746.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210122091057746.png deleted file mode 100644 index ad09db2b9..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210122091057746.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210126021938613.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210126021938613.png deleted file mode 100644 index dbc7a9d43..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210126021938613.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210226140946469.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210226140946469.png deleted file mode 100644 index f2865a915..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210226140946469.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323094058241.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323094058241.png deleted file mode 100644 index 495e2818b..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323094058241.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323095232363.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323095232363.png deleted file mode 100644 index 9775c37c0..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210323095232363.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095613442.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095613442.png deleted file mode 100644 index 0873bf6c2..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095613442.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095933403.png b/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095933403.png deleted file mode 100644 index 1bfc33ae2..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/image-20210329095933403.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg b/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg deleted file mode 100644 index d0636b6a9..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg b/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg deleted file mode 100644 index d5061d007..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg b/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg deleted file mode 100644 index d5061d007..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/join_dbc_network.assets/set-session-key-2.jpeg b/docs/ko/onchain-guide/assets/join_dbc_network.assets/set-session-key-2.jpeg deleted file mode 100644 index d23fa4450..000000000 Binary files a/docs/ko/onchain-guide/assets/join_dbc_network.assets/set-session-key-2.jpeg and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/2021-12-15_14-12.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/2021-12-15_14-12.png deleted file mode 100644 index 6286987b1..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/2021-12-15_14-12.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173113999.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173113999.png deleted file mode 100644 index 11f6b346a..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173113999.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173157921.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173157921.png deleted file mode 100644 index 98019c184..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173157921.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173325854.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173325854.png deleted file mode 100644 index 501582d36..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628173325854.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174246842.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174246842.png deleted file mode 100644 index 8e30caab6..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174246842.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174652781.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174652781.png deleted file mode 100644 index 8623c07fd..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174652781.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174734910.png b/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174734910.png deleted file mode 100644 index 2642bab01..000000000 Binary files a/docs/ko/onchain-guide/assets/maintain_machine.assets/image-20210628174734910.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174327098.png b/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174327098.png deleted file mode 100644 index 86cc057f0..000000000 Binary files a/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174327098.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174759569.png b/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174759569.png deleted file mode 100644 index f4eb04bf8..000000000 Binary files a/docs/ko/onchain-guide/assets/query_rent_fee.assets/image-20211221174759569.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/client_port.png b/docs/ko/onchain-guide/assets/rent_machine.assets/client_port.png deleted file mode 100644 index 02d862c0a..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/client_port.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/create.png b/docs/ko/onchain-guide/assets/rent_machine.assets/create.png deleted file mode 100644 index f18fc0797..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/create.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/find_machine.png b/docs/ko/onchain-guide/assets/rent_machine.assets/find_machine.png deleted file mode 100644 index 439f5b4bd..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/find_machine.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/import.png b/docs/ko/onchain-guide/assets/rent_machine.assets/import.png deleted file mode 100644 index e769e05ad..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/import.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/machine_info.png b/docs/ko/onchain-guide/assets/rent_machine.assets/machine_info.png deleted file mode 100644 index e6f9dcdff..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/machine_info.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/rent_machine.assets/task.png b/docs/ko/onchain-guide/assets/rent_machine.assets/task.png deleted file mode 100644 index db3e18519..000000000 Binary files a/docs/ko/onchain-guide/assets/rent_machine.assets/task.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/1.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/1.png deleted file mode 100644 index 51637631f..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/1.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/2.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/2.png deleted file mode 100644 index 2049fadd4..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/2.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/3.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/3.png deleted file mode 100644 index 52fb3de25..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/3.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/4.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/4.png deleted file mode 100644 index 5910a6bbb..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/4.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/5.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/5.png deleted file mode 100644 index 088fca328..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/5.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/6.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/6.png deleted file mode 100644 index f026ff8c6..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/6.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/report-machine-fault.assets/7.png b/docs/ko/onchain-guide/assets/report-machine-fault.assets/7.png deleted file mode 100644 index a8cfc683d..000000000 Binary files a/docs/ko/onchain-guide/assets/report-machine-fault.assets/7.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122201904774.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122201904774.png deleted file mode 100644 index da61394ff..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122201904774.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210823007.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210823007.png deleted file mode 100644 index 81aac84b5..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210823007.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210826588.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210826588.png deleted file mode 100644 index 81aac84b5..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210826588.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210945889.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210945889.png deleted file mode 100644 index a70258e69..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122210945889.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211054527.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211054527.png deleted file mode 100644 index 998a40a19..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211054527.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211057762.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211057762.png deleted file mode 100644 index 998a40a19..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211057762.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211203371.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211203371.png deleted file mode 100644 index 448f0d3c6..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211203371.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211537605.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211537605.png deleted file mode 100644 index 41530f1dd..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210122211537605.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000000.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000000.png deleted file mode 100644 index 46de472a5..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000000.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000001.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000001.png deleted file mode 100644 index 1a4d86783..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000001.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000002.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000002.png deleted file mode 100644 index f7ff52684..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000002.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000003.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000003.png deleted file mode 100644 index 853db791b..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000003.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000004.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000004.png deleted file mode 100644 index bb9deb7ac..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000004.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000005.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000005.png deleted file mode 100644 index 610c35464..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000005.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000006.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000006.png deleted file mode 100644 index af26dda36..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210423000000006.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000001.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000001.png deleted file mode 100644 index f895ff560..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000001.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000002.png b/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000002.png deleted file mode 100644 index d8991e310..000000000 Binary files a/docs/ko/onchain-guide/assets/staking_dbc_and_voting.assets/image-20210424000000002.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/unbonding-machine.assets/1.png b/docs/ko/onchain-guide/assets/unbonding-machine.assets/1.png deleted file mode 100644 index 3a09c3043..000000000 Binary files a/docs/ko/onchain-guide/assets/unbonding-machine.assets/1.png and /dev/null differ diff --git a/docs/ko/onchain-guide/assets/unbonding-machine.assets/2.png b/docs/ko/onchain-guide/assets/unbonding-machine.assets/2.png deleted file mode 100644 index f087f7b3e..000000000 Binary files a/docs/ko/onchain-guide/assets/unbonding-machine.assets/2.png and /dev/null differ diff --git a/docs/ko/onchain-guide/become-onchain-committee.md b/docs/ko/onchain-guide/become-onchain-committee.md deleted file mode 100644 index 4649b13c2..000000000 --- a/docs/ko/onchain-guide/become-onchain-committee.md +++ /dev/null @@ -1,44 +0,0 @@ -# DBC On-chain committee - -> Please go to the mainnet to perform on-chain operations: https://www.dbcwallet.io/?rpc=wss://info.dbcwallet.io#/explorer - -## 1. Responsibilities of the committee - -In order to maintain the DBC network, we have set up a "committee" role. The committee has two main responsibilities: - -1. Perform the task of machine verification when the machine is online. When a new machine wants to join the DBC network, three committees in normal state will be randomly selected. The selected committee can verify the machine configuration and submit it to the chain at a designated time. - -2. Deal with the report of the renter during the renting period. When the renter encounters a machine fault, the problem will be reported to the chain. If the committee handles the report and the report is confirmed by other committee, the machine will be punished and a fine will be issued to the committee dealing with the problem. - -## 2. Become a member of the verification committee - -You can participate in the committee through democracy voting (submission of proposals). - -## 3. Committee's rewards and punishments - -In order to encourage committee members to actively maintain the DBC network, committees participating in the work will receive a portion of rewards. - -1. Reward rules for machine verification: After the machine goes online, you will get "online rewards" every day, of which 25% of the rewards are released immediately, and 75% of the rewards are released in the subsequent 150 days. The committee reviewing the machine will share 1% of the machine unlocking reward. The reward time is 2 years. After the reward expires, it will stop and continue to release immediately. - -2. (TODO) Rewards for handling reports from hirers: - -## 4. Generate box_pubkey for information encryption - -After passing the community vote, the applicant will be added to the committee module. Committee members need to submit the public key used for information encryption in order to dispatch and grab orders normally. - -```bash -# Install node.js v14 by yourself -git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git && cd DeepBrainChain-MainChain -cd scripts/test_script/ && npm install - -# To generate a public key, you need to use a script to specify your own private key -node gen_boxpubkey.js --key "0x868020ae0687dda7d57565093a69090211449845a7e11453612800b663307246" -``` - -## 5. Add box_pubkey to the chain - -After generating the public key, go to `committee` --> `committeeSetBoxPubkey` and click "Submit Transaction" to set. - -When this step is performed, 20000 DBC will be staked, and every time an order is dispatched, "1000 DBC used" will be recorded. After completing the dispatch task, "1000 DBC" will be refunded - -![](./assets/machine_verification.assets/image-20210623145108399.png) diff --git a/docs/ko/onchain-guide/bonding-machine.md b/docs/ko/onchain-guide/bonding-machine.md deleted file mode 100644 index 3abef6691..000000000 --- a/docs/ko/onchain-guide/bonding-machine.md +++ /dev/null @@ -1,154 +0,0 @@ -# Machine Onchain steps - -## Method 1: Binding via web wallet - -### 0. Ready to work - -- Make sure DBC client is installed on the machine. - -- Before bonding GPU Machine online, please make sure you have enough balance in your wallet. (Each GPU need to stake 1000 DBC). - -## Stash account binding control account - -### 1.1 Description: - -- For the safety of your account funds, we strongly recommend using a multi-signature account as a capital account. For multi-signature accounts, please go to https://github.com/DeepBrainChain/DBC-DOC/blob/master/DBC_install/%E5%A4%9A%E9%87%8D%E7%AD%BE%E5%90%8D%E8%B4%A6%E6%88%B7.md - -- The `Stash Account`: When the GPU machine is bound onchain, the DBC will be staked from the `Stash Account`, and when the rewards are distributed, it will be issued to the `Stash Account`. - -- `Control account` is the manager, responsible for the operation of the machine, maintenance, etc. - -- The `control account` also needs some DBC, and some transaction fee generated by the operation on the chain will be deducted from the `control account`. - -### 1.2 Operation - -Navigate to: `Developer`--`Transaction`, as shown below, select the `setController` method of the `onlineProfile` module, select your `stash account` and `control account` respectively, and click bind in the lower right corner - -![image-20210629104434008](./assets/bonding_machine.assets/image-20210629104434008.png) - -> As shown above, BOB_STASH account (`Stash account`) set DAVE account as `control account`. -> -> `Stash Account`: `5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc` -> -> `Control account`: `5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy` - -### 1.3 Check whether the stash account and control account are successfully bound - -Query whether the stash account and the control account are successfully bound: as shown in the figure below, when the stash account is successfully bound to the control account, you can select `controllerStash` of the `onlineProfile` module through `Developer`--`Chain Status`, to query the stash account corresponding to the `control account`. In the figure below, a stash account corresponding to a control account is queried. - -![image-20210714140945243](./assets/bonding_machine.assets/image-20210714140945243.png) - -## 2. The machine generates a signed message - -> You need to use the machine's private key to generate a signed message and send it to the chain to confirm the stash account own this machine. - -### 2.1 Query `Machine ID` and `Machine Private Key`` - -You need to query the machine private key on the machine where the DBC client program is installed. And use the private key to generate a signed message and send it to the chain. - -```shell -# The machine ID and private key are in the directory of the dbc installation program, such as: -# /home/dbc/0.3.x.x/dbc_repo/dat/node.dat -# Its content is: -node_id=8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48 # Machine ID -node_private_key=398f0c28f98885e046333d4a41c19cee4c37368a9832c6502f6cfd182e2aef89 # Machine private key -``` - -### Use `machine private key` to generate signature data - -Use the following [script](https://github.com/DeepBrainChain/DeepBrainChain-MainChain/blob/master/scripts/test_script/gen_signature.js) to generate signature data. - -```shell -#Instructions -1. Install nodejs 14 on the linux server (the version must be 14, otherwise there will be other errors, please Google for the installation method) -2. Clone script: git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git -3. Installation: cd DeepBrainChain-MainChain/scripts/test_script && npm install -4. Execute the script -node gen_signature.js --key 0x398f0c28f98885e046333d4a41c19cee4c37368a9832c6502f6cfd182e2aef89 --msg 8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a485CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL - -### Message: 8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a485CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL -### Signer: 8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48 -### Signature: 0x5cc8b4c49b244d7c071b124ef68119d7549dd805ea43f69e3c142fd5909f926041a9cad93b16085d72431df2d1164e7911085423bca16625295583686f2fce8c -``` - -> `--key` specifies `machine private key`, -> -> and **key is prefixed with 0x**; -> -> `--msg` specifies the message that needs to be signed, and the message content is `machine ID+fund account`; -> -> The data after `Signature:` is the **signature data**. - -### 2.3 Use `Control Account` to bond machine to stash_account - -Now, we need to broadcast the **_signature data_** generated in the previous step through the `control account`. - -Navigate to: `Developer`--`Transaction`, and select the `bondMachine` method of the `onlineProfile` module as shown below. Use `Control Account` to bind `Machine ID` (`MachineId`) with `Control Account`. Fill in the parameters as shown below: - -![image-20210707140400114](./assets/bonding_machine.assets/image-20210707140400114.png) - -### 2.4 Query whether the machine is successfully bound: - -After completing this step, you can query the machines in the system through `Developer`--`Chain Status`--`onlineProfile`--`liveMachines`. As shown in the figure below, a machine is queried that has been bound. Next, you need to add machine information - -![image-20210714141352887](./assets/bonding_machine.assets/image-20210714141352887.png) - -## 3. `Control account` need to generate "computer room" - -### instruction - -**When the stash account is bound to the machine for the first time or the machine is in a new computer room**, a new computer room ID needs to be generated. A transaction fee of `10 DBC` is paid for each generation of a computer room. - -If the machines to be bound are in the same computer room, just generate the computer room information once. If the machines are in different computer rooms, the corresponding number of computer rooms will be generated according to the situation. When adding machine information, select the corresponding computer room (if the machines are in the same computer room, you can add the same computer room ID each time you add machine information). - -### 3.1 Operation: Generate new room information on the chain - -![](./assets/bonding_machine.assets/image-20210817114537368.png) - -### 3.2 Query the computer room records generated under the stash account - -Navigate to `developer`--`chain status`, through `stash account`, view the computer room bound under **stash account**: the following figure generates two computer rooms, and the query parameter is the fund account. - -![](./assets/bonding_machine.assets/image-20210817114925965.png) - -## 4. `Control account` add machine information - -`Control account` also needs to add machine information: Navigate to `Developer` -- `Transaction`--`onlineProfile`--`addMachineInfo` - -![2021-08-09_11-15](./assets/Machine_winding_steps_english.assets/2021-08-09_11-15-16284796475672.png) - -- Parameter description: - - - server_name: Select the computer room ID generated in the previous step - - - upload_net: upload bandwidth (take 20MB bandwidth as an example, fill in 20). - - - download_net: download bandwidth (take 20MB bandwidth as an example, fill in 20). - - - longitude: Longitude. Take the East longitude 131.1548123 as an example, fill in `East 1311548`. Be careful not to fill in the longitude and latitude upside down. The error can be within the range of 30 km, and the staking will be deducted if the content is wrong). - - - latitude: Latitude. Take south latitude 121.143253 as an example, fill in `South 1211432`. Be careful not to fill in the longitude and latitude upside down.The error can be within the range of 30 km, and the pledge will be deducted if the content is wrong. - - - Computer room network information, you can choose from the following according to the situation: (China Mobile: China Mobile, China Unicom: China Unicom, China Telecom: China Telecom, non-Chinese operators fill in according to their actual names.The pledge will be deducted if the content is wrong) - -## 5. Check and receive rewards - -### 5.1. Check rewards - -In the developer--chain status, select: the `stashMachines` method of the `onlineProfile` module, fill in the parameters in **`stash account`**, you will be able to find the detailed information of the reward for the `stash account`. - -Among them, `can_claim_reward` is the reward that can be claimed, and `left_reard` is the remaining part of the reward obtained every day before (the remaining 75%, this 75% will be released in the subsequent 150 antennas). - -![image-20210623143656481](./assets/bonding_machine.assets/image-20210623143656481.png) - -### 5.2. Collect rewards - -Use **Control Account** to claim reward, and rewards will be issued to **`Stash Account`**. - -![image-20210623144049700](./assets/bonding_machine.assets/image-20210623144049700.png) - -## 6. Query the machine bounded to the account - -- View the machines on the chain under the fund account: Navigate to `Developer`----`Chain Status`----`Storage`----`onlineProfile`----`stashMachines` - -- View the machines on the chain under the control account: Navigate to `Developer`----`Chain Status`----`Storage`----`onlineProfile`----`controllerMachines` diff --git a/docs/ko/onchain-guide/dbc-chain-logic.md b/docs/ko/onchain-guide/dbc-chain-logic.md deleted file mode 100644 index 9df943ac9..000000000 --- a/docs/ko/onchain-guide/dbc-chain-logic.md +++ /dev/null @@ -1,124 +0,0 @@ -# DBC chain module description - -- Github Repo:https://github.com/DeepBrainChain/DeepBrainChain-MainChain - -- Github branch:`master` - -- Project is based on substrate [v3.0.0](https://github.com/paritytech/substrate/releases/tag/v3.0.0) - -- Project structure description - - ``` - # The main logic of the project is located in the pallets folder, and the hierarchical relationship of the modules is as follows: - # dbc-staking, generic-func, dbc-price-ocw are independent of other modules - # committee, online-profile depend on generic-func, dbc-price-ocw - # maintain-committee, online-committee, rent-machine 依赖上一层模块 - - pallets - ├── dbc-staking # Used for node POA block verification rewards, modified from the substrate staking module - ├── generic-func # Some helper functions, such as serialization/some common calculations - ├── dbc-price-ocw # offchain-worker,Used to get the real-time price of dbc - | - ├── committee # Committee module for the management of subsequent machines on the chain - ├── online-profile # Machine management module, mainly used for machine online/offline/online reward distribution - | - ├── maintain-committee # After the machine is online, the report module that has problems, the renter can report through this module, and the committee will review it - ├── online-committee # The machine online review module, which is mainly used for dispatching to the committee for review when the machine is online - ├── rent-machine # Rent machine/relet - | - └── simple-rpc # Only used to provide RPC, in order to make the testcase simpler, put part of the RPC separately under the palelt - ``` - -- Test: According to the dependencies between pallets modules, testcase located in `maintain-committee`, `online-committee`, `rent-machine` - - ```bash - cargo test -p online-committee - cargo test -p rent-machine - cargo test -p maintain-committee - ``` - -## dbc-chain main module function description - -1. Committee module (`committee` pallet): add a committee through a referendum (Root authority), committee members (committee) stake a certain DBC, participate in the management of the machine and obtain DBC rewards - -2. Main logic of machine online (`online-profile` pallet and `online-committee` pallet) - - 1. stash account(stash) bond machine controller account (controller) - - 2. The control account submits the machine online request (submit the machine private key signature for machine authentication stash account), and stake the stash account to a certain DBC - - 3. The machine is dispatched to the committee in a normal state, and it is allowed to log in to the machine at a specific time for verification. The committee that was dispatched was recorded as “using part of the pledge” - - 4. The committee **in turn** verifies the machine information (off-chain verification) and submits the Hash of the confirmed result (approved to go online/rejected to go online) - - 5. At a specific time/after all committees submit Hash, the committee is allowed to submit the original confirmation result (agree/reject the machine to go online) - - 5.1 The machine goes online successfully (committees that agree to go online>committees that decline): Starting from the next day, machines and committees will be rewarded. At the same time, committees that refuse to go online/submit information different from other committees will be recorded by the system and a penalty to be executed will be added - - 5.2 The machine is refused to go online (committees that agree to go online<=committees that are rejected): The committee and machine stash that support going online will be recorded, and a penalty to be executed will be added - - 6. Enforcement of punishment: There is a penalty in the system. Before the penalty is executed (two days), the punished person is allowed to make an appeal (additional stake of DBC). The technical committee can cancel the penalty before the penalty is executed. If the appeal is passed, the penalty will be imposed. Otherwise, the punishment will be executed after two days (counting from the occurrence of the punishment). - - 7. After the machine is successfully online, control the operation of the account - - 8. Claim the rewards from the fund account - - 9. Take the machine offline (when rented/online) to handle the fault (to avoid being reported). In this case, when the machine is online (the amount of penalty to be pledged), the offline time of the machine is counted, and the penalty is based on the offline state. - - 10. Go offline to modify the machine configuration. Different from direct offline, in this case, the committee needs to review before going online. - -3. The main logic of the machine maintenance module (`maintain-committee`) - - 1. The successfully online machine can be rented by ordinary users. If you find any problems before/during the rental process, you can report it through `maintain-committee`. - - 2. Circumstances that can be reported: - - 1). When the machine is rented, the machine cannot be accessed - - 2). When the machine is in the rent state, the machine hardware fault - - 3). When the machine is in the rent state, it is found that the hardware parameter configuration is falsified - - 4). When the machine is idle, the machine cannot be rented - -## Rewards and penalties - -### reward - -stash account rewards: - -1. If the machine is online/rented, the daily rewards will be distributed proportionally. - -2. Before **_Galaxy Race_** starts (the number of online GPUs in the system reaches a certain number), the rent will be paid to the stash account. - -committee reward - -1. When the machine is successfully launched for the first time, the effective review committee will be recorded, and for the following two years, 1% of the machine will be awarded every day - -2. When the machine fails to go online, the committee that refuses to go online will receive a certain percentage of rewards from the pledge of the stash account when the machine goes online - -3. When the machine goes offline due to modified configuration, stash is required to stake a certain amount and the committee will review it. When the machine is successfully launched, the effective review committee will receive the staked amount. - -4. When the machine is reported, and the report is approved, the committee will receive a certain percentage of stash punishment - -### punish - -stash account penalty - -1. Machine online rejected - -2. Go offline after the machine goes online - -3. Reported and offline - -4. Modify configuration information offline, but the review fails - -committee Punishment - -1. Failure to complete the assigned task: When the machine goes online, a committee will be randomly selected for verification. Failure to complete the verification task will be punished - -2. Disagreement with other committees: When review is required (including the automatic dispatch of orders when the machine is online, and the committee actively grabs orders when the machine is reported), it is usually necessary for the committee to submit the hash of the result first, and then wait until all committees have submitted the hash. Submit original information. If the original information submitted is inconsistent with most committees, it will be punished - -### Representations of punishment - -All punishments will be recorded and their execution will be delayed. The punished person is allowed to stake and make representations. The Technical Committee has the authority to cancel the penalty. diff --git a/docs/ko/onchain-guide/join-dbc-network.md b/docs/ko/onchain-guide/join-dbc-network.md deleted file mode 100644 index f6f3aa0f5..000000000 --- a/docs/ko/onchain-guide/join-dbc-network.md +++ /dev/null @@ -1,119 +0,0 @@ -# How to run a DBC validator? - -0. Recommended hardware - - - RAM:8G - - CPU:2 cores - - Disk:100G - -1. Generate stash account (If you already have stash account, you can skip this) - - - Option 1: Install `polkadot{.js}` adds-on - - - Chrome, install via [Chrome web store](https://chrome.google.com/webstore/detail/polkadot{js}-extension/mopnmbcafieddcagagdcbnhejhlodfdd) - - Firefox, install via [Firefox add-ons](https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/) - - Then generate by `polkadot{.js}` - - - Option 2: Generate account from [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts),click `Account` -- `Add account` - - - Option 3: Generate by command line: - - ```bash - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - cargo install --force subkey --git https://github.com/paritytech/substrate --version 2.0.1 --locked - subkey generate --scheme sr25519 - ``` - -2. Get `dbc-chain` binary - - - Option 1: use pre-build version (If any errors, please use Option 2). - - ``` - wget https://github.com/DeepBrainChain/DeepBrainChain-MainChain/releases/download/v2/dbc_chain_linux_x64.tar.gz -O dbc_chain_linux_x64.tar.gz - tar xf dbc_chain_linux_x64.tar.gz && cd dbc-chain-mainnet - ``` - - - Option 2: compile from source (recommended) - - ```bash - # install dependency - curl https://getsubstrate.io -sSf | bash -s -- --fast - source ~/.cargo/env - - # compile dbc-chain - git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git - cd DeepBrainChain-MainChain - cargo build --release - ``` - -3. Synchronize Chain Data - - ```bash - ./dbc-chain --base-path ./db_data --chain ./dbcSpecRaw.json --pruning=archive --bootnodes /ip4/47.74.88.41/tcp/8947/p2p/12D3KooWD87i4TKA68P7zpGNXxUaHgvnimbgihEzDyJrmG3iGJPw - ``` - - - If you compile from source, the binary path is `./target/release/dbc-chain` - -- After finished synchronize, type `Control + C` to close the above command. You can compare `target` and `best` to infer if sync is finished. When `target` is closed (100 blocks, for example) to `best` , it can be regard sync is finished.![image-20210126021938613](./assets/join_dbc_network.assets/image-20210126021938613.png) - - **Flags in detail:** - - `--base-path`:Specifies a directory where Substrate should store all the data related to this chain. If this value is not specified, a default path will be used. If the directory does not exist it will be created for you. If other blockchain data already exists there you will get an error. Either clear the directory or choose a different one. - - `--chain ./dbcSpecRaw.json`:Specifies which chain specification to use. - - `--pruning=archive`:synchronize chain data - - `--bootnodes`:specified a single boot node. - -4. After synchronizing block data finished, stop the synchronizing command. Then run the node as a validator: - - ```bash - nohup ./dbc-chain --base-path ./db_data --chain ./dbcSpecRaw.json --validator --name YourNodeName --bootnodes /ip4/47.74.88.41/tcp/8947/p2p/12D3KooWD87i4TKA68P7zpGNXxUaHgvnimbgihEzDyJrmG3iGJPw 1>dbc_node.log 2>&1 & - ``` - - - If you compile from source, the binary path is `./target/release/dbc-chain` - - You can give your validator any name that you like, but note that others will be able to see it, and it will be included in the list of all servers using the same telemetry server. Since numerous people are using telemetry, it is recommended that you choose something likely to be unique. - -5. generate`rotateKey` - - Run the following command in the terminal, and record the result. - - ```bash - curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933 - ``` - -6. Bond stash - - - open [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts) you will see your balance: ![image-20210121194808850](./assets/join_dbc_network.assets/image-20210121194808850.png) - - - navigate to`Staking > Account actions`,click `stash`![image-20210121194953014](./assets/join_dbc_network.assets/image-20210121194953014.png) - - - You should set bond balance(Make sure not to bond all your DBC balance since you will be unable to pay transaction fees from your bonded balance.):![image-20210121195033167](./assets/join_dbc_network.assets/image-20210121195033167.png) - - **Description:** - - - `Stash account`:Select your Stash account. In this example, we will bond 45 DBC - make sure that your Stash account contains _at least_ this much. You can, of course, stake more than this. - - `controller account`:Select the Controller account created earlier. This account will also need a small amount of DBC in order to start and stop validating. - - `value bonded`:How much DBC from the Stash account you want to bond/stake. Note that you do not need to bond all of the DBC in that account. Also note that you can always bond _more_ DBC later. - - `payment destination`:The account where the rewards from validating are sent. - -7. Set Session Keys - - - After bond your stash,you can see in Polkadot UI `Session Key`button:![image-20210121195307711](./assets/join_dbc_network.assets/image-20210121195307711.png) - - - click it and input the result in step 5`rotateKeys`![image-20210121200709277](./assets/join_dbc_network.assets/image-20210121200709277.png) - - - Now, check in [Telemetry](https://telemetry.polkadot.io/#list/0xd523fa2e0581f069b4f0c7b5944c21e9abc72305a08067868c91b898d1bf1dff) and you can see your node.![image-20210121234945030](./assets/join_dbc_network.assets/image-20210121234945030.png) - -8. Validate - - - After steps above you can see`Validate` button and click it,![image-20210121235144583](./assets/join_dbc_network.assets/image-20210121235144583.png) - - - You should set your preference as a validator.![image-20210121235217665](./assets/join_dbc_network.assets/image-20210121235217665.png) - - - In `reward commission percentage` you should input your commission preference. Then clieck `Validate` to send this transaction。Then,in `Waiting` page,you are waiting status`Era` to be a validator.![image-20210121235451552](./assets/join_dbc_network.assets/image-20210121235451552.png) - -## How to get your rewards payout? - -Navigate to `Staking > Payouts > Max, 84 eras` ,you may see all the rewards to be payout: - -![image-20210329095933403](./assets/join_dbc_network.assets/image-20210329095933403.png) - -chick `Payout all` button to send a transaction. diff --git a/docs/ko/onchain-guide/machine-reward-model.md b/docs/ko/onchain-guide/machine-reward-model.md deleted file mode 100644 index 31dc5a4e1..000000000 --- a/docs/ko/onchain-guide/machine-reward-model.md +++ /dev/null @@ -1,13 +0,0 @@ -# Machine reward model - -Several factors affecting DBC rewards for computing workers: - -- The computing power value of the server device - -- Number of GPUs owned - -- The number of GPUs owned by a single wallet. For each additional GPU in a single wallet, the points of all machines will increase by 0.01%, up to a maximum of 10% - -- Whether the GPU is rented. The hashrate value of rented GPU increased by 30% - -- Daily rewards for computing workers = the percentage of computing power owned by computing workers to the total network computing power \*1,095,890 DBC, of which 25% will be released immediately, 75% will be released in the subsequent 150 antennas, and 0.5% will be released every day diff --git a/docs/ko/onchain-guide/machine-slash-model.md b/docs/ko/onchain-guide/machine-slash-model.md deleted file mode 100644 index 73e5531b2..000000000 --- a/docs/ko/onchain-guide/machine-slash-model.md +++ /dev/null @@ -1,95 +0,0 @@ -# Machine penalty mechanism - -Regardless of whether the machine is online or offline, computing workers need to actively send on-chain notifications by themselves. If the machine fails to actively send on-chain notifications, the penalty will be more serious. Once the machine is officially on the chain successfully, you cannot modify any hardware configuration information in the future. When the machine is idle and offline at the same time, the bandwidth and latitude and longitude information can be modified. When the machine receives a penalty, only the pledged coins are deducted. The historical rewards that will be issued in the next 150 days will not be deducted, but there is no new online reward. When the machine deposit is less than 90%, it will be in a warning state, when the machine deposit is less than 80%. %, there will be no online rewards. - -Number of pledges: - -1). The validator needs to pledge 20,000 dbc in advance - -2). The reporter needs to pledge 20,000 dbc in advance, otherwise the report cannot be reported - -3). When the validator's deposit is 50% remaining, it will be in a warning state. When the validator's deposit is less than 40%, the validator's qualification will be cancelled. Each time an order is rushed, 1000 pledges are consumed, and the order status is completed, 1000 pledges will be refunded - -## 1. In the case that the machine provider takes the initiative to send offline notification: - -1). If the machine is in the leased state - -The offline machine is more than 3 minutes but not more than 7 minutes, and there is no new online reward, and 2% pledge coins will be deducted. 100% goes to the treasury. - -If the machine is offline for more than 7 minutes, 4% pledged coins will be deducted. 100% into the treasury - -If the machine is offline for more than 48 hours, 30% of the pledged coins will be deducted, 10% will be given to the user, and 90% will go to the treasury. - -If the machine is offline for more than 120 hours, 50% of the deposit will be deducted. 10% goes to users and 90% goes to the treasury. - -2). If the machine is in idle state - -After being idle for more than 10 days, the machine is offline, and there is no new online reward, and the old reward is still released linearly. (After the machine is offline, if the machine is more than 365 days from the first online time, you can apply for a refund of the deposit) - -I have been idle for less than 10 days. At this time, the machine is offline and there is no new online reward. 2% of the pledged coins will be deducted, and all the pledged coins will enter the national treasury. - -I have been idle for less than 10 days, when the machine is offline for more than 7 minutes, 4% of pledged coins will be deducted, and all pledged coins will enter the treasury - -After being idle for less than 10 days, when the machine is offline for more than 48 hours, 30% of the pledged coins will be deducted, and all the pledged coins will enter the national treasury. - -If the machine has been idle for less than 10 days, and the machine is offline for more than 240 hours, 80% of the pledged coins will be deducted. All pledged coins enter the national treasury. If the machine has been online for more than 365 days since the first time it went online, the remaining 20% of the deposit can be refunded. - -## 2. If the machine provider does not send an offline notification proactively and is reported instead: - -If there is a problem with the machine, but the calculation worker does not send a offline notice, but the reporter has been reported. After the report, the verifier grabs the order and verifies whether there is a problem with the machine. The machine is in a leased state, and only users can report it. - -1). When the machine is in a rented state, the machine is not accessible at this time: - -The offline machine is more than 3 minutes but not more than 7 minutes, and there is no new online reward, and 4% pledge coins will be deducted. 10% goes to the validator and 90% goes to the treasury. - -When offline for more than 7 minutes, 8% pledged coins will be deducted. 10% goes to the validator and 90% goes to the treasury. - -When offline for more than 48 hours, 60% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 120 hours, 100% deposit will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -2). When the machine is in a rented state, and at this time it has been determined that the machine has hardware failure: - -When offline for less than 4 hours and no new online rewards, 6% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 4 hours, 12% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 24 hours, 16% of pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 48 hours, 60% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 120 hours, 100% of the deposit will be deducted, 10% will be given to the user, 20% to the validator, and 70% to the treasury. - -3). When the machine is in a leased state, it is determined that the hardware parameter configuration is fraudulent (the actual bandwidth value is less than 30%, the latitude and longitude error is outside 30 kilometers, or other hardware parameters are inconsistent) - -When offline for no more than 4 hours, and no new online rewards, 12% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 4 hours, 24% of pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 24 hours, 32% of pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 48 hours, 60% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 120 hours, 100% of the deposit will be deducted, 10% will be given to the user, 20% to the validator, and 70% to the treasury. - -4). When the machine is in an idle state, and it is determined that the machine can not be rented - -When offline for less than 4 hours and no new online rewards, 6% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 4 hours, 12% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 24 hours, 16% of pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 48 hours, 60% pledged coins will be deducted. 10% goes to users, 20% goes to validators, and 70% goes to the treasury. - -When offline for more than 120 hours, 100% of the deposit will be deducted, 10% will be given to the user, 20% to the validator, and 70% to the treasury. - -## 3. Grievance rules - -1. If the machine is maliciously reported, the machine provider can appeal within 48 hours, otherwise it is invalid. If the complaint is passed, the network will cancel any penalties. If the complaint is not passed, all penalties are doubled. - -2. If it is confirmed that the reporter made a malicious report, the 10% equivalent dbc deposit of the reporter will be deducted. Reporters can also appeal within 48 hours - -3. If the validator is a minority or malicious verification, the validator's 10% equivalent dbc deposit will be deducted. The verifier can also appeal within 48 hours. - -4. In any given report, out of the three parties, machine provider, reporter and validator, as long as one of them has appealed, the other can not appeal again diff --git a/docs/ko/onchain-guide/machine-verification.md b/docs/ko/onchain-guide/machine-verification.md deleted file mode 100644 index 627c5a4a5..000000000 --- a/docs/ko/onchain-guide/machine-verification.md +++ /dev/null @@ -1,134 +0,0 @@ -# The committee handles the machine on-chain request - -## 1. View the orders assigned to you by the system - -Navigate to `Developer`-->`Chain Status`-->`Storage`, select the `committeeMachine` storage of the `onlineCommittee` module, and click the `+` sign on the right to see the committee's order status. As is shown, the committee has an order assigned by the system - -![](./assets/machine_verification.assets/image-20210601164137286.png) - -## 2. View the time interval allocated by the system to the committee for verification - -Navigate to `Developer`--`Chain Storage`--`Storage`, select the `committeeOps` method of `onlineCommittee`, and enter your committee account, and the machine ID assigned in the previous step, you can find information similar to the following : - -![](./assets/machine_verification.assets/image-20210601164631426.png) - -Among them, booked_time represents the order dispatch time. Note that the committee submits the original information between 36 and 48 hours after dispatching the order (that is, the block height booked_time + 4320 ~ booked_time + 5760). - -`verify_time` represents the start time assigned by the system to verify the machine information by the committee. As shown in the figure, the committee was assigned 9 opportunities to verify the machine, each with a duration of 4 hours, which is 480 blocks high. At this time, the committee can choose its own convenient time, query the login information of the machine through the front end, and log in to the system to verify the machine. - -## 3. Query machine information - -### 3.1 Download Postman - -Download and install postman. Please go to the official website and install it according to the operating system. - -Download json file:http://114.116.21.175:22244/dbc-develop-0.3.7.5.postman_collection.json - -Import json file: fiel----import----select json file to import import - -![](./assets/machine_verification.assets/133870420-b790637c-cab6-44f9-ba00-493eadc951cd.png) - -Replace the client ip address and port with `121.57.95.175:5679` - -### 3.2 View detailed host information: - -```bash -Signing tool download address: https://github.com/DeepBrainChain/DBC-AIComputingNet/releases/download/0.3.7.3/sign_tool - -# Installation dependencies libvirt: -## Ubuntu -sudo apt-get install libvirt -## Arch -yay -S libvirt - -# Add execution permissions: : -chmod +x sign_tool - # Then execute to sign: -./sign_tool `Wallet address` `private key` -``` - -![](./assets/machine_verification.assets/133870889-61976abb-ae6b-4cd6-97e3-9e9205745346.png) - -Replace in the following figure: sign, nonce, wallet (note: the sign and nonce of the same machine can only be used once), the machine information can be queried - -![](./assets/machine_verification.assets/133870573-04dbcb84-9112-4837-b8e4-20db8538c079.png) - -![](./assets/machine_verification.assets/133871452-06dde25a-9691-44dc-b35b-124dbece44fd.png) - -View machine GPU information - -### 3.3 Create a virtual machine - -![](./assets/machine_verification.assets/test_create.png) - -The creation process is relatively slow, about five minutes to fifteen minutes, check the virtual machine login information and virtual machine status in the view task details of postman. For example, in the returned result, "status": "creating" means that the virtual machine is being created , Just wait - -![](./assets/machine_verification.assets/task_info.png) - -### 3.4 Enter the created virtual machine and execute `nvidia-smi -L` to view the graphics card type - -![](./assets/machine_verification.assets/nvidia.png) - -After the query is completed, the virtual machine is deleted, and OK appears, indicating that the deletion is successful - -![](./assets/machine_verification.assets/delete.png) - -## 4. The committee calculates the hash of the machine information - -We have provided a script to calculate the Hash of the information that needs to be filled in: - -`https://github.com/DeepBrainChain/DeepBrainChain-MainChain/blob/master/scripts/hash_machine_info.py` - -After obtaining the required information, modify the script and execute it to get the hash value. **Please save the information you filled in until the machine is successfully online or fails to go online** - -```bash -python3 hash_machine_info.py -``` - -## 5. The Hash of the machine information submitted by the committee - -As shown in the figure, submit the Hash of the machine information 36 hours ago (note that 0x must not be removed when submitting) - -Note: In the picture, **leaseCommittee is replaced with onlineCommittee!!!** Others remain unchanged. - -![](./assets/machine_verification.assets/image-20210601165736511.png) - -## 6. The committee submits the original information of the machine - -**Please make sure to submit the original information of the machine within 36~48 hours after the order is dispatched!** - -![](./assets/machine_verification.assets/image-20210601165851303.png) - -## 7. Inquiry and collection of committee awards - -### 7.1 Check rewards - -Navigate to Developer--Chain Status--Storage, and query the rewards corresponding to the committee account (committee module committeeStake method). As shown in the figure, `can_claim_reward` is the reward that can be claimed; `claimed_reward` is the reward that has been claimed. - -![](./assets/machine_verification.assets/image-20211020112744070.png) - -### 7.2 Claim award - -Navigate to Developer-Transaction, select the committee account, select the claimReward method of the committee module, and submit the transaction. - -![](./assets/machine_verification.assets/image-20211020112948942.png) - -## 8. Other operations - -### 8.1 The committee adds staking - -You can call the `committee` --> `committeeAddStake` method. When (Staking Quantity-Pledge Used) > Staking Quantity\*40%, the committee status is "Order Available" - -### 8.2 Committee reduces staking - -Call the `committee` --> `committeeReduceStake` method. Note that the minimum pledge is currently 20,000 DBC. If it is less than the minimum pledge after reduction, it will not be possible to reduce the pledge. - -### 8.3 Query Penalty (TODO) - -The committee can query the rewards by Developer -> ChainStatus, then select method of the committee module. Among them, SlashId is self-incrementing, and this value may not be included, and all the penalties that have not been executed are queried. - -As shown in the figure below, you can view the penalty amount (slash_amount), reason (slash_reason), penalty execution time (slash_exec_time), penalty generation time (slash_time) and other information. - -![](./assets/machine_verification.assets/image-20211020113330231.png) - -### 8.4 Punishment Appeal (TODO) diff --git a/docs/ko/onchain-guide/maintain-machine.md b/docs/ko/onchain-guide/maintain-machine.md deleted file mode 100644 index b5fecad89..000000000 --- a/docs/ko/onchain-guide/maintain-machine.md +++ /dev/null @@ -1,43 +0,0 @@ -# The committee handles the renter’s report - -## TODO - -### Supplementary staking - -> When the machine is bound for the first time, pledge the DBC required to bind a card. After the machine is approved by the committee, the system will check and increase the pledge corresponding to the number of cards based on the information submitted by the committee (the number of GPUs). -> -> At this time, when the staking is not enough, the machine ID will be placed in the `fulfilling_machine` field of the `online_profile module`--`live_machine` variable, indicating that it needs **supplemental pledge** to go online. - -Operation of supplementary pledge: - -![](./assets/maintain_machine.assets/image-20210628174246842.png) - -### Rebind - -> When the machine is rejected by the committee, there are 10 days to declare rebinding. - -![](./assets/maintain_machine.assets/image-20210628173325854.png) - -### The machine is declared offline due to a fault - -> When a machine has fault, in order to avoid being reported, the machine maintainer needs to promptly declare the **machine is offline** to deal with the machine problem in time. - -Operation:`onlineProfile` -- `controllerReportOffline` - -![](./assets/maintain_machine.assets/image-20210628174652781.png) - -### (After being declared offline due to failure) Declaring that the machine is online - -> When the machine recovers from the failure, it is necessary to declare that the machine is online in time. - -Operation:`onlineProfile`--`controllerReportOnline` - -![](./assets/maintain_machine.assets/image-20210628174734910.png) - -### Modify the machine configuration offline (will be re-verified) - -Operation: onlineProfile -- offlineMachineChangeHardwareInfo - -![](./assets/maintain_machine.assets/2021-12-15_14-12.png) - -Then execute: onlineProfile - addMachineInfo After re-adding the machine information, it will be reassigned for verification diff --git a/docs/ko/onchain-guide/onchain-errors.md b/docs/ko/onchain-guide/onchain-errors.md deleted file mode 100644 index 23b65e662..000000000 --- a/docs/ko/onchain-guide/onchain-errors.md +++ /dev/null @@ -1,50 +0,0 @@ -# On-chain error description - -## onlineProfile Module - -BadSignature, -MachineIdExist, -BalanceNotEnough, -NotMachineController, -PayTxFeeFailed, -RewardPhaseOutOfRange, -ClaimRewardFailed, -ConvertMachineIdToWalletFailed, -NoStashBond, -AlreadyController, -NoStashAccount, -BadMsgLen, -NotAllowedChangeMachineInfo, -MachineStashNotEqualControllerStash, -CalcStakeAmountFailed, -NotRefusedMachine, -SigMachineIdNotEqualBondedMachineId, -TelecomIsNull, -MachineStatusNotAllowed, -ServerRoomNotFound, -NotMachineStash, -TooFastToReStake, -NoStakeToReduce, -ReduceStakeFailed, -GetReonlineStakeFailed, -SlashIdNotExist, -TimeNotAllowed, -ExpiredSlash, - -## onlineCommittee Module - -NotInBookList, -AlreadySubmitHash, -NotAllHashSubmited, -TimeNotAllow, -NotSubmitHash, -AlreadySubmitRaw, -InfoNotFeatHash, -DuplicateHash, -GetStakeAmountFailed, -AlreadyApplied, -NotSlashed, -BalanceNotEnough, -NotPendingReviewSlash, -ExpiredApply, -Overflow, diff --git a/docs/ko/onchain-guide/query-rent-fee.md b/docs/ko/onchain-guide/query-rent-fee.md deleted file mode 100644 index 9586d6e29..000000000 --- a/docs/ko/onchain-guide/query-rent-fee.md +++ /dev/null @@ -1,19 +0,0 @@ -# Query machine historical orders and rent - -Ideas: - -For a machine, it can be rented after the start of the chain. After the lease, the lease can be renewed before the lease term expires. Therefore, there are two moments for the deposit payment: 1. After being rented, when the lease success method is called; 2. During the renting process, when the lease renewal method is called. - -The two method calls are: `rentMachine-confirmRent` and `rentMachine-reletMachine`. - -For example, you can go to subscan to find all confirmed lease transactions. - -![](./assets/query_rent_fee.assets/image-20211221174327098.png) - -As shown in the figure, the machine `12481de9a6d9abe7b8a0c8771b0db0e948333101b6c49b80470d955745c0407d` can be checked for lease at 608141. - -By querying the transaction of 608141: - -![](./assets/query_rent_fee.assets/image-20211221174759569.png) - -It can be queried that the user of 5Gv3Fy...vgUYRs called `Confirm Rent`. After executing the call, the pledged amount is transferred to the stash account of the machine. diff --git a/docs/ko/onchain-guide/rent-machine.md b/docs/ko/onchain-guide/rent-machine.md deleted file mode 100644 index 6720c13cc..000000000 --- a/docs/ko/onchain-guide/rent-machine.md +++ /dev/null @@ -1,43 +0,0 @@ -# On-chain rent machine - -## Step 1: Determine the machine to be rented - -- Open [Mainnet Wallet](https://www.dbcwallet.io/?rpc=wss://info.dbcwallet.io) - -- Create a wallet: Account-->Add account (The mnemonic phrase must be saved, if the mnemonic phrase is lost, the account cannot be retrieved, and the currency is lost) - -- Go to [Galactic Race Machine List](https://galaxyrace.deepbrainchain.org/table) to find the corresponding type of idle machine - -![find_machine](./assets/rent_machine.assets/find_machine.png) - -## Step 2: Rent a machine on the chain - -- Navigate to `Developer`---`Transactions`---`rentMachine` ----`rentMachine(machine_id, duration)` - -- `machine_id`: Enter the id of the machine to be rented, the `0x` in the input box must be deleted first - -- `duration`: Enter the time to be rented (unit: 1 BlockNumber = 30 seconds ) - -- After the input is complete, click Submit Transaction, and confirm whether the machine is available within 30 minutes. (If the lease is not confirmed within 30 minutes, the payment of `dbc` will be refunded, but the transaction fee of 10 `dbc` cannot be refunded) - -- For related operations such as creating a virtual machine, please [reference](https://github.com/DeepBrainChain/DBC-DOC/blob/master/creat_macine/create_macine.md) - -## Step 3: Confirm availability and lease - -::: warning -Before confirming, you must confirm that the virtual machine can start normally. After confirming that the lease is successful, it means that the machine is successfully leased, and the DBC rent cannot be refunded -::: - -- Navigate to `Developer`----`Transactions`----`rentMachine`----`confirmRent(machine_id)` - -- Enter the machine id and submit the transaction - -## Step 4: Relet Machine Rent - -::: warning -The virtual machine will be automatically stopped when the machine expires to ensure that the lease is renewed successfully before the lease expires -::: - -- Navigate to `Developer`----`Transactions`----`rentMachine`----`reletMachine(machine_id, add_duration)` - -- Enter the machine id and the number of days to renew the lease, and submit the transaction diff --git a/docs/ko/onchain-guide/report-machine-fault.md b/docs/ko/onchain-guide/report-machine-fault.md deleted file mode 100644 index bd1001b03..000000000 --- a/docs/ko/onchain-guide/report-machine-fault.md +++ /dev/null @@ -1,236 +0,0 @@ -# Machine renter reports machine malfunction - -::: warning -Documentation is under development -::: - -The four types of machine faults that can be reported are divided into two categories according to how they are handled: - -1. After the machine is leased **Inaccessible fault(`RentedInaccessible(MachineId)`)**, - -2. Other types of fault, including - - - The machine is rented, but has a **hardware malfunction(`RentedHardwareMalfunction(ReportHash, BoxPubkey)`)**; - - - The machine is rented, but **hardware counterfeit(`RentedHardwareCounterfeit(ReportHash, BoxPubkey)`)**; - - - The machine is online, but **cannot be rented(`OnlineRentFailed(ReportHash, BoxPubkey)`)** - -Below is a brief description of the two reporting processes: - -::: tip -In this document, the validator is the validating committee, so the descriptions validator/committee may be used interchangeably. - -The reporter can cancel the report if and only if someone grabs the order. -::: - -## 1. The machine cannot be accessed after being leased - -This type is designed so that the verifier can quickly respond to the report, and the verifier can use the program to monitor this report on the chain and automatically grab the order, automatically determine whether the report is valid, and automatically submit the processing results. Therefore, such reports are the fastest in troubleshooting. Reporting information is submitted on-chain in clear text to accommodate this treatment. - -### 1.1. [Role: Reporter] Report to the chain - -Execute `report_machine_fault`, the reporter needs to select `Fault Type` as `RentedInaccessible`, and provide the machine ID - -Payment: 10 DBC (additional fee for this type of report) - -Stake 1000 DBC - -![](./assets/report-machine-fault.assets/1.png) - -### 1.2. [Role: Validator] Order grabbing - -Execute `committee_book_report` - -After the first validator grabs the order, the verification result will be submitted within 5 minutes, and the verification will end in 10 minutes. - -The committee can monitor maintainCommittee.bookableReport to see if there is a bookable report - -You can query maintainCommittee.reportInfo to query the specific information of the report (error type, reporting time, etc.) - -Payout: 10 DBC - -Staking: 0 DBC (No committee pledge is required for this type of report) - -### 1.3. [Role: (Other) Validator] Order grabbing - -- execute `committee_book_report` - -- Need to grab the order within 5 minutes (10 blocks) after the first validator grabs the order - -- Up to 3 validators to grab orders - -- Consume 10 DBC to pledge 1000DBC - -### 1.4. [Role: (Order grabbed) Validator] Submit Hash of `confirmation information`: - -Execute `committee_submit_verify_hash` - -![](./assets/report-machine-fault.assets/2.png) - -::: tip Hash generation method -hash("report_id" + "committee_rand_str" + "is_support"); -Please modify the script when generating hash: `https://github.com/DeepBrainChain/DeepBrainChain-MainChain/scripts/hash_machine_inaccessible.py` -::: - -### 1.5. [Role: (Order grabbed) Validator] Submit `confirmation information` - -- Validators are allowed to submit original information only if all committees that are vying for the order have submitted the hash or 5 minutes (10 blocks) from the first order rush - -Execute `committee_submit_inaccessible_raw` - -![](./assets/report-machine-fault.assets/3.png) - -::: tip -Waiting for all committees that have successfully grabbed the order to submit the original information or 10 minutes after the first validator grabbed the order, the committee's verification results will be counted and processed. -::: - -### 1.6. System Judgment Results - -TODO - -## 2. Other faults - -As mentioned, other failures include: - -- The machine is rented, but has a **hardware failure(`RentedHardwareMalfunction(ReportHash, BoxPubkey)`)**; - -- The machine is rented, but **hardware counterfeit(`RentedHardwareCounterfeit(ReportHash, BoxPubkey)`)**; - -- The machine is online, but **cannot rent(`OnlineRentFailed(ReportHash, BoxPubkey)`)** - -### 2.1. [Role: Reporter] Report to the chain - -To execute `report_machine_fault`, the reporter needs to select `fault type` as one of the above three errors. Here is an example of `cannot rent`: - -Generate report Hash: According to the report content, modify the `machine_id` and `rand_str` in the script, and then execute the following command to generate the report Hash - -```shell -❯ python hash_machine_fault.py -ReporterHash: 0x00e8af0f2ad79a07985e42fa5a045a55 -CommitteeHash: 0xc45a1e9471d6e0e539febe382b009070 -``` - -At the same time, you also need to provide your own BoxPubkey for decryption after the committee receives the encrypted information: - -::: tip -If it is a multi-signature account, or if you do not know the private key, you can regenerate an SS58 account and use the SS58 private key to generate BoxPubkey. Subsequent operations can use this key pair. -::: - -``` -❯ node gen_boxpubkey.js --key 0xeb2a67b0d6d3e457076c3d4f9633e7400921fa49887324131b4a9520e5971c4c -0x20859b983f7f4f3aaf0a41915d0e61b27f90f9b0ffb9310eeee201a997c8b910 -``` - -Then call the report function: - -![](./assets/report-machine-fault.assets/4.png) - -### 2.2. [Role: Validator] Order grabbing - -Execute `committee_book_report` - -After the first validator grabs the order, the verification result will be submitted within 5 minutes, and the verification will end in 10 minutes. - -The committee can monitor maintainCommittee.bookableReport to see if there is a bookable report - -You can query maintainCommittee.reportInfo to query the specific information of the report (error type, reporting time, etc.) - -Payout: 10 DBC - -Staking: 1000 DBC - -### 2.3 [Role: Reporter] Submit encrypted information - -After the validator grabs the order, the reporter needs to submit the encrypted information to the order grabbing committee within 30 minutes (60 blocks). If the encrypted information is not provided over time, the report will fail (the reporter will be punished for this). - -```shell -# Generate encrypted message -node seal_msg.js --sender_privkey 0x0cdc17e4cd84743c66bae7761ad354d423c93ac1e398630575d91371d6f713ce --receiver_box_pubkey 0x20da91ba45f5ed8fddd40d5439f817c9f00750694ed5c70d17e421caf15f437b --msg "abcdefg bcdefa" -``` - -in which, - -`--sender_privkey` is the private key of the whistleblower; -`--receiver_box_pubkey` is the box_pubkey of the committee (receiver), which can be queried in the following ways: -`--msg` is the error message to be encrypted, such as `machine_id has a memory failure`, note: **`--msg` is the `machine_id` to be reported + the random string of the reporter + error message**, such as `8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48[abcdef] Supplementary information, can be left blank` - -### 2.4 [Role: Committee] Decrypt after receiving encrypted information - -When the reporter provides the encrypted information, the committee needs to decrypt the information to query the information submitted by the reporter - -```shell -node open_msg.js --sender_box_pubkey 0xe30cac79ec5fe7c9811ed9f1a18ca3806b22798e24b7d9f9424b1a27bde3e866 --receiver_privkey 0x171baa0f7baa4fa7e2dd94b8f9efc0b95034a4ad5f3aba5b6b923e38130c3f0d --sealed_msg 0x01405deeef2a8b0f4a09380d14431dd10fde1ad62b3c27b3fbea4701311d -``` - -in, -`--sender_box_pubkey` is the reporter's box_pubkey, which can be queried through the information in `maintainCommittee.reportInfo.machine_fault_type`; - -`--receiver_privkey` is the private key corresponding to the committee's own box_pubkey -`--sealed_msg` is the encrypted message received by the committee - -After the decryption is completed, the committee needs to judge whether there is a problem with the machine according to the actual situation. and submit it to the chain - -Query Committee BoxPubkey: - -![](./assets/report-machine-fault.assets/5.png) - -### 2.5 [Role: Committee] Determine the machine failure information and submit it to the chain - -![](./assets/report-machine-fault.assets/6.png) - -其中,`extra_err_info`为委员会判断的,可能不同于报告人认为的错误原因。该字段也可留空 - -Among them, `extra_err_info` is judged by the committee and may be different from the reason for the error that the reporter believes. This field can also be left blank - -## 3. Result execution and representation - -### 3.1 Rewards and penalties after reporting - -When the report is completed, penalties and rewards will be given according to the results submitted by the committee. simply put, - -- For validators, - - - Committees that do not complete all tasks will be penalized, such as booking a report/submitting a verification hash without final submission confirmation - - - When the verification result is different from the majority of the committees, if 2 committees oppose the report and 1 committee supports the report, the supporting committee will be punished, and the remaining 2 committees will be rewarded - - - Rewarded when successfully completing the verification machine failure task and agreeing with the majority of the rest of the committee (both think the machine is faulty/non-faulty) - -- For whistleblowers - - - When the whistleblower reports the type of failure that requires the submission of encrypted information, if the encrypted information is not submitted within half an hour of the committee's order grabbing, the report will fail and will be punished - - - Penalties for whistleblowers when their report is disapproved by a majority of the committee - - - Rewarded when a report is supported by a majority of the committee - -- for machine_stash, - - When the report is successful, you will be punished - -### 3.2 Claims after Rewards and Punishments Occur - -When the report occurs, the punishment will be recorded on the chain and executed \**two days after the punishment occurs (2880*2 blocks), allowing the punished committee/reporter to appeal. Appeals will be handled by the Technical Committee. The penalty will be lifted after the technical committee determines that the appeal is valid. - -Among them, when the machine is successfully taken off the shelf due to the report, it needs to be checked and dealt with, and then put on the shelf as soon as possible to reduce the penalty. When the machine is wrongly punished, maybe after it is put on the shelves, make an appeal (there are also 2 days), and request the technical committee to judge. - -Committees that have not successfully completed their assignments are not allowed to make representations - -Appeals require a certain amount of coins to be pledged. When the appeal fails, the pledged coins will be deducted. - -## 4. Technical Committee Cancellation of Penalty - -When the punished person pledges a certain amount of DBC and submits an appeal to the technical committee, the technical committee can cancel the punishment before the punishment is executed. - -Just call the cancellation penalty (`cancel_slash`) in the corresponding module, where the threshold is set to 1 (1/5), and the `slash_id` is the penalty that needs to be cancelled. Such as, - -### 4.1 [Role: Technical Committee] Cancellation of penalty based on appeal - -- To cancel the reporter's penalty, you need to call `maintainCommittee--cancelReporterSlash` - -- To cancel the penalty of stash (caused by the machine being offline and then online), you need to call `onlineProfile--cancelSlash` - -- Cancel the penalty of the online committee (due to no work assigned, or inconsistent with the views of most other committees handling the order), need to call `onlineCommittee-cancelSlash` - -![](./assets/report-machine-fault.assets/7.png) diff --git a/docs/ko/onchain-guide/staking-dbc-and-voting.md b/docs/ko/onchain-guide/staking-dbc-and-voting.md deleted file mode 100644 index 44c69357b..000000000 --- a/docs/ko/onchain-guide/staking-dbc-and-voting.md +++ /dev/null @@ -1,51 +0,0 @@ -# How to nominate on DBC? - -1. Generate stash account (If you already have stash account, you can skip this) - - - Option 1: Install `polkadot{.js}` adds-on - - - Chrome, install via [Chrome web store](https://chrome.google.com/webstore/detail/polkadot{js}-extension/mopnmbcafieddcagagdcbnhejhlodfdd) - - [https://chrome.google.com/webstore/detail/polkadot{js}-extension/mopnmbcafieddcagagdcbnhejhlodfdd](https://chrome.google.com/webstore/detail/polkadot{js}-extension/mopnmbcafieddcagagdcbnhejhlodfdd) - - Firefox, install via [Firefox add-ons](https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/) - - [https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/](https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/) - - Then generate by `polkadot{.js}` - - - Option 2: Generate account from [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts),click `Account` -- `Add account` - - - Option 3: Generate by command line: - - ```bash - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - cargo install --force subkey --git https://github.com/paritytech/substrate --version 2.0.1 --locked - ``` - -2. Get some DBC. Open [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts) and you can see your account and your balance: - - ![image-20210122210826588](./assets/staking_dbc_and_voting.assets/image-20210122210826588.png) - -3. Nominator - - - Navigate to `Network > Staking > Account actions`, click `Nominator` - - ![image-20210122210945889](./assets/staking_dbc_and_voting.assets/image-20210122210945889.png) - - - set your stash account,controller account and`value bonded`,then click next![image-20210122211057762](./assets/staking_dbc_and_voting.assets/image-20210122211057762.png) - - - then, you should select the validator. (**You can nominate more than one validator**).![image-20210122211203371](./assets/staking_dbc_and_voting.assets/image-20210122211203371.png) - - - Finally click `Bond & Nominate` to send the transaction and finished the nominate. - -4. Check your nominate result - - Navigate to`Network > Staking > Account actions`, you can see the balance of bonded DBC and the validator you nominated. - - ![image-20210122211537605](./assets/staking_dbc_and_voting.assets/image-20210122211537605.png) - -5. Nominate the second time - - Nominate in `step 6` include two step: set `stash account` bond `controller` account and nominate a validator. - - If we want to nominate the second time, only need to click `Nominate` button: - - Navigate to `Staking > Account actions > stashes > Nominate`, select the validator you want to nominate. It's done! diff --git a/docs/ko/onchain-guide/unbonding-machine.md b/docs/ko/onchain-guide/unbonding-machine.md deleted file mode 100644 index 7d2be0a45..000000000 --- a/docs/ko/onchain-guide/unbonding-machine.md +++ /dev/null @@ -1,41 +0,0 @@ -# Machine offline steps - -::: warning Attention! -⚠️ Incorrect machine-offline may result in penalty of staking! -::: - -Machine offline is divided into two cases: `offline due to malfunction` and `offline due to the need to change the hardware`. - -- offline due to malfunction - -1. If there is a malfunction of the machine, in order to avoid punishment by the renter reporting, it is necessary to use the control account to report the machine offline to the chain to deal with the malfunction. After the malfunction processing is completed, it can be reported to the chain to go online. - -2. If the machine needs to be permanently offline, the control account can report the machine offline to the chain. - -- offline due to need to change hardware - -When the machine hardware changes, in order to make the online and offline info consistent and avoid being reported and punished, the machine needs to actively report to request the onchain info change. At this point, machines will be randomly assigned to validators to submit new machine configurations to the chain. - -## Machine offline due to malfunction - -Depending on the state of the machine (rented | free), going offline has different penalties. Refer to the amount of punishment [when the operator sends the offline notification actively](https://deepbrainchain.github.io/DBC-Wiki/en/onchain-guide/machine-slash-model.html) - -The offline duration and free duration (since the end of the last rented) have an impact on the penalty amount. **If machine is free for more than 10 days, there will be no penalty after going offline. The staking of the machine can be returned after 365 days from the first online** - -After going offline, you can go online and/or permanently offline. If it is not online for more than 10 days, it will be processed as if it was offline for 10 days. - -### offchain operations - -Go to Developer--Transactions, select machine `Control Account`, and execute the `controllerReportOffline` method of the `onlineProfile` module. As shown below: - -![](./assets/unbonding-machine.assets/1.png) - -### On-chain operations after going offline - -Go to Developer--Transactions, select `Control Account`, and execute the `controllerReportOnline` method of the `onlineProfile` module. As shown below: - -![](./assets/unbonding-machine.assets/2.png) - -## The machine is offline due to the need to change the hardware - -TODO diff --git a/docs/ko/staking-model/assets/common_questions.assets/exit_candidate.png b/docs/ko/staking-model/assets/common_questions.assets/exit_candidate.png deleted file mode 100644 index aa44af4ca..000000000 Binary files a/docs/ko/staking-model/assets/common_questions.assets/exit_candidate.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/common_questions.assets/remove_council_voting.png b/docs/ko/staking-model/assets/common_questions.assets/remove_council_voting.png deleted file mode 100644 index 64e38a3c6..000000000 Binary files a/docs/ko/staking-model/assets/common_questions.assets/remove_council_voting.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/common_questions.assets/staking_action.png b/docs/ko/staking-model/assets/common_questions.assets/staking_action.png deleted file mode 100644 index 79729d5c2..000000000 Binary files a/docs/ko/staking-model/assets/common_questions.assets/staking_action.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/common_questions.assets/unbond.png b/docs/ko/staking-model/assets/common_questions.assets/unbond.png deleted file mode 100644 index 1a8c16fc7..000000000 Binary files a/docs/ko/staking-model/assets/common_questions.assets/unbond.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled-16432615716041.png b/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled-16432615716041.png deleted file mode 100644 index 3a5214ef1..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled-16432615716041.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled.png b/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled.png deleted file mode 100644 index 3a5214ef1..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4af3cd3c-4622-4c34-9063-9a9d60df18b5%2FUntitled.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa3a96460-c361-4b3f-9ef2-2e99e6d21158%2FUntitled.png b/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa3a96460-c361-4b3f-9ef2-2e99e6d21158%2FUntitled.png deleted file mode 100644 index 2d2ef277c..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa3a96460-c361-4b3f-9ef2-2e99e6d21158%2FUntitled.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdcb675f8-3e93-4dc6-ba34-81f676dc9f77%2FUntitled.png b/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdcb675f8-3e93-4dc6-ba34-81f676dc9f77%2FUntitled.png deleted file mode 100644 index d90e92b24..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fdcb675f8-3e93-4dc6-ba34-81f676dc9f77%2FUntitled.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132401086.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132401086.png deleted file mode 100644 index 16a6a93c3..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132401086.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132418133.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132418133.png deleted file mode 100644 index a47eccb9b..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132418133.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132439344.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132439344.png deleted file mode 100644 index 35f6f3493..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132439344.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132543333.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132543333.png deleted file mode 100644 index 43c51b5e3..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132543333.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132607464.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132607464.png deleted file mode 100644 index 368543768..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132607464.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132638327.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127132638327.png deleted file mode 100644 index f75f3dc59..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127132638327.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133328151.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127133328151.png deleted file mode 100644 index 5b6f807b8..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133328151.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133353228.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127133353228.png deleted file mode 100644 index d114b1272..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133353228.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133432429.png b/docs/ko/staking-model/assets/fast-track.assets/image-20220127133432429.png deleted file mode 100644 index cc0e48813..000000000 Binary files a/docs/ko/staking-model/assets/fast-track.assets/image-20220127133432429.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-58.png b/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-58.png deleted file mode 100644 index 237474902..000000000 Binary files a/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-58.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-59.png b/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-59.png deleted file mode 100644 index a682b60e9..000000000 Binary files a/docs/ko/staking-model/assets/generate_new_account.assets/2021-09-13_09-59.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121193337378.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121193337378.png deleted file mode 100644 index 6dfb064c5..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121193337378.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194158808.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194158808.png deleted file mode 100644 index 445c720b4..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194158808.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194808850.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194808850.png deleted file mode 100644 index 04d8b33bc..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194808850.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194953014.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194953014.png deleted file mode 100644 index f5028b36b..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121194953014.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195033167.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195033167.png deleted file mode 100644 index d9355970b..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195033167.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195307711.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195307711.png deleted file mode 100644 index a80347540..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121195307711.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121200709277.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121200709277.png deleted file mode 100644 index 8b1353e11..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121200709277.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234245879.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234245879.png deleted file mode 100644 index e901f386a..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234245879.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234945030.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234945030.png deleted file mode 100644 index bdd03ccf7..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121234945030.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235144583.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235144583.png deleted file mode 100644 index ab05beb7a..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235144583.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235217665.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235217665.png deleted file mode 100644 index ce8f194d0..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235217665.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235451552.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235451552.png deleted file mode 100644 index b5d8f5833..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235451552.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235916809.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235916809.png deleted file mode 100644 index bcc53a3ae..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210121235916809.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210122091057746.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210122091057746.png deleted file mode 100644 index ad09db2b9..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210122091057746.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210126021938613.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210126021938613.png deleted file mode 100644 index dbc7a9d43..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210126021938613.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210226140946469.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210226140946469.png deleted file mode 100644 index f2865a915..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210226140946469.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323094058241.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323094058241.png deleted file mode 100644 index 495e2818b..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323094058241.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323095232363.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323095232363.png deleted file mode 100644 index 9775c37c0..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210323095232363.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095613442.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095613442.png deleted file mode 100644 index 0873bf6c2..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095613442.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095933403.png b/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095933403.png deleted file mode 100644 index 1bfc33ae2..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/image-20210329095933403.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg b/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg deleted file mode 100644 index d0636b6a9..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-dashboard-validate-modal.jpeg and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg b/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg deleted file mode 100644 index d5061d007..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpeg and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg b/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg deleted file mode 100644 index d5061d007..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/polkadot-explorer-rotatekeys-rpc.jpg and /dev/null differ diff --git a/docs/ko/staking-model/assets/join_dbc_network.assets/set-session-key-2.jpeg b/docs/ko/staking-model/assets/join_dbc_network.assets/set-session-key-2.jpeg deleted file mode 100644 index d23fa4450..000000000 Binary files a/docs/ko/staking-model/assets/join_dbc_network.assets/set-session-key-2.jpeg and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122201904774.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122201904774.png deleted file mode 100644 index da61394ff..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122201904774.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210823007.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210823007.png deleted file mode 100644 index 81aac84b5..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210823007.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210826588.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210826588.png deleted file mode 100644 index 81aac84b5..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210826588.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210945889.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210945889.png deleted file mode 100644 index a70258e69..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122210945889.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211054527.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211054527.png deleted file mode 100644 index 998a40a19..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211054527.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211057762.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211057762.png deleted file mode 100644 index 998a40a19..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211057762.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211203371.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211203371.png deleted file mode 100644 index 448f0d3c6..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211203371.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211537605.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211537605.png deleted file mode 100644 index 41530f1dd..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210122211537605.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210126021938613.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210126021938613.png deleted file mode 100644 index dbc7a9d43..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210126021938613.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210329095933403.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210329095933403.png deleted file mode 100644 index 1bfc33ae2..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210329095933403.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000000.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000000.png deleted file mode 100644 index 46de472a5..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000000.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000001.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000001.png deleted file mode 100644 index 1a4d86783..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000001.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000002.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000002.png deleted file mode 100644 index f7ff52684..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000002.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000003.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000003.png deleted file mode 100644 index 853db791b..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000003.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000004.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000004.png deleted file mode 100644 index bb9deb7ac..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000004.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000005.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000005.png deleted file mode 100644 index 610c35464..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000005.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000006.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000006.png deleted file mode 100644 index af26dda36..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210423000000006.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000001.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000001.png deleted file mode 100644 index f895ff560..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000001.png and /dev/null differ diff --git a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000002.png b/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000002.png deleted file mode 100644 index d8991e310..000000000 Binary files a/docs/ko/staking-model/assets/staking_dbc_and_voting.assets/image-20210424000000002.png and /dev/null differ diff --git a/docs/ko/staking-model/common-questions.md b/docs/ko/staking-model/common-questions.md deleted file mode 100644 index e9061c98e..000000000 --- a/docs/ko/staking-model/common-questions.md +++ /dev/null @@ -1,59 +0,0 @@ -# Staking/Unbond common questions - -## 1. How do validators/nominator increase/decrease staking? - -On the web browser, navigate to: - -1. Go to `Network-Stakign-Account Operation`, find the account you want to operate. - -2. On the right side of the account, click the `⁝` symbol, and select according to your needs in the menu: - -3. "Bond more": used to increase staking - -4. "Unbound funds": used to reduce pledge - -![](./assets/common_questions.assets/staking_action.png) - -3. In case after clicking `Unbind Funds`, an interface for unbinding funds appears, select the amount you want to unbind, and click Unbind. - -![](./assets/common_questions.assets/unbond.png) - -::: warning -To release the staking, you need to wait 14 days. After 14 days, you need to go to Figure 1 and choose to withdraw the bound funds. Or perform withdrawal of bound funds on the account page -::: - -## 2. "The election of new validator candidates is currently underway. Because such staking operations are not allowed." - -In the `Network-Staking-Account Operation` page, sometimes you will see such information - -:::warning -The election of new validator candidates is currently underway. So such staking operations are not allowed. -::: - -This is because there is half an hour every day to elect the block producer for the next day. During the election process, pledge-related operations cannot be performed. - -Operate outside of this period (approximately between 10:00~10:30AM (Peking time)). - -## 3. How to exit the validator - -Go to `Network-Staking-Account Operation`, find the account you want to operate, and click the "Stop" button on the right side of the account. - -## 4. How to release the staking in the council - -When you vote for the council candidates on the page of `democracy-council`, DBC will be staked to this module, and you need to manually cancel the vote to unbind. - -![](./assets/common_questions.assets/remove_council_voting.png) - -## 5. How to release the staking in democracy - -### 5.1 Go to [Subscan](https://dbc.subscan.io) to query your own democratic voting records - -[subscan](https://dbc.subscan.io) - -- 5.2 On the `Developer-Transaction` page, select `democracy`-`removeVote` and execute. - -- 5.3 Then, on the `Developer-Transaction` page, select `democracy`-`unlock` and execute. - -## 6. How to withdraw a candidate from the committee - -![](./assets/common_questions.assets/exit_candidate.png) diff --git a/docs/ko/staking-model/dbc-chain-params.md b/docs/ko/staking-model/dbc-chain-params.md deleted file mode 100644 index 1dd86e586..000000000 --- a/docs/ko/staking-model/dbc-chain-params.md +++ /dev/null @@ -1,42 +0,0 @@ -# How to join DBC network - -If you have some DBC and want to get more, you can choose to **become a `validator`**, which requires 7\*24 hours to run a node. If you don't want to run a node, but still want to get profit, you can choose to be a **nominator by nominate `validators`**. - -- `Validator`: A validator needs to maintain a full node, which is mainly responsible for verifying transactions and generating blocks based on consensus. -- `Nominator (Nominator)`: A nominator needs to stake `DBC` and nominate the `validator`, by this way it is possible to generate the `validator` in the network and share the rewards with the `validator`. DBC will be slash when the validator is punished. - -## Introduction - -#### Periods of common actions and attributes in DBC network - -- Slot:30 seconds **(generally one block per slot)** -- Epoch duration:4 hour -- Era duration:24 hours (6 sessions per Era, one Era is an election peroid, and is also a reward calculation peroid) -- The `n-1` Era election period (the election period interval is 1 Era) will generate a new set of Validators, responsible for `n+1` Era block generation - -#### Total reward amount: - -- In [0 ~ 3) year: 10^9 DBC every year -- In [3~8) year: 0.5 \* 10^9 DBC every year -- In [8, 8+) year:0.5 _ (2.5 _ 10^9 + DBC_from_renter) / 5 DBC every year - -#### Reward rules: - -- After each block is generated, the rewards obtained by the block producer will be recorded to the `ErasRewardPoints`, and the rules for reward `EraRewardPoints` are: - - - 20 points for main chain block producers - - 2 points for uncle block producers - - 1 point for producers who quoted uncle blocks - -- The validators get same amount of rewards for the same job -- **Reward retention time**: **84 era (84 days)**, rewards exceeding the retention time will not be recorded. Anyone can send `Payout` transactions to get rewards (even if they do not participate in the stake), and everyone who staked in the validator node can get rewards by a single call. -- **Validator Reward** = Total Reward _ Customized Commissions + Remaining Part of Reward _ Percentage of validator staked -- **Nominator Award**: **Only the top 128 of stakes can be rewarded ( according to the stake amount).** `Number of rewards = (total rewards of nodes - custom commissions of validators) * Percentage of nominator's stake` - -#### How to be a `norminator` - -[How to nominate on DBC](./staking-dbc-and-voting.md) -- stake DBC,be a Nominator to get rewards - -#### How to be a `validator` - -[How to be a DBC validator](./join-dbc-network.md) -- run a full node,be a Validator to get rewards diff --git a/docs/ko/staking-model/dbc-chain-upgrade.md b/docs/ko/staking-model/dbc-chain-upgrade.md deleted file mode 100644 index 04db50da3..000000000 --- a/docs/ko/staking-model/dbc-chain-upgrade.md +++ /dev/null @@ -1,158 +0,0 @@ -# How to run as DBC validator? - -## 0. Recommended hardware - -- RAM:8G -- CPU:2 cores -- Disk:100G - -## 1. Generate stash account - -(If you already have stash account, you can skip this) - -Reference: [Generate new dbc account](generate-new-account.md) - -## 2. Get `dbc-chain` binary - -### Option 1: use pre-build version (recommended) - -> If any errors, please use Option 2 - -```bash -mkdir dbc-chain-mainnet && cd dbc-chain-mainnet -wget https://github.com/DeepBrainChain/DeepBrainChain-MainChain/releases/download/v2.3/dbc_chain_linux_x64.tar.gz -O dbc_chain_linux_x64.tar.gz - -tar xf dbc_chain_linux_x64.tar.gz -``` - -### Option 2: compile from source - -```bash -# install dependency -curl https://getsubstrate.io -sSf | bash -s -- --fast -source ~/.cargo/env - -# compile dbc-chain -git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git -cd DeepBrainChain-MainChain && git checkout v2.3 -cargo build --release -``` - -### 3. Synchronize Chain Data - -```bash -./dbc-chain --base-path ./db_data --pruning archive -``` - -- If you compile from source, the binary path is `./target/release/dbc-chain` - -- After finished synchronize, type `Control + C` to close the above command. You can compare `target` and `best` to infer if sync is finished. When `target` is closed (100 blocks, for example) to `best` , it can be regard sync is finished. - -![](./assets/join_dbc_network.assets/image-20210126021938613.png) - -- **Flags in detail:** - - `--base-path`:Specifies a directory where Substrate should store all the data related to this chain. If this value is not specified, a default path will be used. If the directory does not exist it will be created for you. If other blockchain data already exists there you will get an error. Either clear the directory or choose a different one. - - `--chain ./dbcSpecRaw.json`:Specifies which chain specification to use. - - `--pruning=archive`:synchronize chain data - - `--bootnodes`:specified a single boot node. - -## 4.Then run the node as a validator: - -When the dbc mainnet is upgraded to version 3.0, there will be many new features that are incompatible with the old version. In order to obtain staking rewards stably, please upgrade to version 3.0 - -```bash -# Execute in the folder generated in step 2 -wget https://github.com/DeepBrainChain/DeepBrainChain-MainChain/releases/download/v3.2/dbc-chain-v3.tar.gz -O dbc_chain_linux_x64.tar.gz - -tar xf dbc_chain_linux_x64.tar.gz - -#Run verification node -# Query and stop the old version of the synchronization node -ps aux | grep dbc-chain - -#The result is similar to the following display -root 761495 0.0 0.0 9584 2588 pts/0 S+ 17:07 0:00 grep --color=auto -w dbc-chain -root 926101 2.0 5.1 4295592 1650640 ? Sl 2023 5320:10 ./dbc-chain --base-path ./db_data --port 30337 --ws-port 9948 --rpc-port 9937 --pruning archive - -# Stop old node -sudo kill -9 926101 (note to replace with the actual queried PID) - -#Start new version node -nohup ./dbc-chain --base-path ./db_data --chain dbcSpecRaw.json --validator --name YourNodeName 1>dbc_node.log 2>&1 & - -#If you encounter a startup error -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./dbc-chain) - -#solution: -#1. Users in China: -echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -#2. Non-China users -echo "deb http://archive.ubuntu.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -``` - -- If you compile from source, the binary path is `./target/release/dbc-chain` -- You can give your validator any name that you like, but note that others will be able to see it, and it will be included in the list of all servers using the same telemetry server. Since numerous people are using telemetry, it is recommended that you choose something likely to be unique. - -## 5. generate`rotateKey` - -Run the following command in the terminal, and record the result. - -```bash -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933 -``` - -## 6. Bond stash - -- open [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts) you will see your balance: ![image-20210121194808850](./assets/join_dbc_network.assets/image-20210121194808850.png) - -- navigate to`Staking > Account actions`,click `stash`![image-20210121194953014](./assets/join_dbc_network.assets/image-20210121194953014.png) - -- You should set bond balance(Make sure not to bond all your DBC balance since you will be unable to pay transaction fees from your bonded balance.):![image-20210121195033167](./assets/join_dbc_network.assets/image-20210121195033167.png) - -**Description:** - -- `Stash account`:Select your Stash account. In this example, we will bond 45 DBC - make sure that your Stash account contains _at least_ this much. You can, of course, stake more than this. - -- `controller account`:Select the Controller account created earlier. This account will also need a small amount of DBC in order to start and stop validating. - -- `value bonded`:How much DBC from the Stash account you want to bond/stake. Note that you do not need to bond all of the DBC in that account. Also note that you can always bond _more_ DBC later. - -- `payment destination`:The account where the rewards from validating are sent. - -## 7. Set Session Keys - -- After bond your stash,you can see in Polkadot UI `Session Key`button:![image-20210121195307711](./assets/join_dbc_network.assets/image-20210121195307711.png) - -- click it and input the result in step 5`rotateKeys`![image-20210121200709277](./assets/join_dbc_network.assets/image-20210121200709277.png) - -- Now, check in [Telemetry](https://telemetry.polkadot.io/#list/0xd523fa2e0581f069b4f0c7b5944c21e9abc72305a08067868c91b898d1bf1dff) and you can see your node.![image-20210121234945030](./assets/join_dbc_network.assets/image-20210121234945030.png) - -## 8. Validate - -- After steps above you can see`Validate` button and click it, - -![image-20210121235144583](./assets/join_dbc_network.assets/image-20210121235144583.png) - -- You should set your preference as a validator. - -![image-20210121235217665](./assets/join_dbc_network.assets/image-20210121235217665.png) - -- In `reward commission percentage` you should input your commission preference. Then clieck `Validate` to send this transaction。Then,in `Waiting` page,you are waiting status`Era` to be a validator. - -![image-20210121235451552](./assets/join_dbc_network.assets/image-20210121235451552.png) - -## 9. Claim your rewards payout? - -Navigate to `Staking > Payouts > Max, 84 eras` ,you may see all the rewards to be payout: - -![image-20210329095933403](./assets/join_dbc_network.assets/image-20210329095933403.png) - -chick `Payout all` button to send a transaction. diff --git a/docs/ko/staking-model/fast-track.md b/docs/ko/staking-model/fast-track.md deleted file mode 100644 index 093ebc967..000000000 --- a/docs/ko/staking-model/fast-track.md +++ /dev/null @@ -1,47 +0,0 @@ -# Fast-track Process - -Note: The screenshots are all from testnet. The values in it need to be filled in according to the situation after reading this document. Please do not fill in directly according to the picture. - -1. (Any account can) Go to the Preimages page, submit the preimage, as shown below, and copy the "preimage hash". As shown in the figure, the code is upgraded. - -![image-20220127133353228](./assets/fast-track.assets/image-20220127133353228.png) - -After filling in the parameters, the pre-image hash is: `0xbb3e3bd46891ad75a32fa62a3897fb6374665943aca58cb2b2f91c401fadd2dd` - -2. Council members execute the following calls: Note that `MemberCount` at least 3/4 of council members (e.g. there are 21 council members, MemberCount should be at least 16), and the proposal_hash fills in the Hash generated and copied in the previous step - -![image-20220127133432429](./assets/fast-track.assets/image-20220127133432429.png) - -3. The council will vote, and click close when all are passed - -![image-20220127133328151](./assets/fast-track.assets/image-20220127133328151.png) - -Then, the store can be queried: - -![image-20220127132638327](./assets/fast-track.assets/image-20220127132638327.png) - -4. The technical committee proposes motion, Note: the threshold needs to be the number of all technical committees. - -![image-20220127132543333](./assets/fast-track.assets/image-20220127132543333.png) - -Among them, voting_period is the duration for voting, which is filled in according to the actual situation. The voting start time is the time when the technical committee executes the close after the voting is completed. - -`delay` is the delay time for code execution after voting ends. - -After the execution is as follows: - -![image-20220127132607464](./assets/fast-track.assets/image-20220127132607464.png) - -5. Call on the technical committee to vote. After the voting is completed, click "Close" - -![image-20220127132439344](./assets/fast-track.assets/image-20220127132439344.png) - -6. After the technical committee votes, the referendum will be opened, and the pass condition is "simple majority". - -As shown in the figure below, the rest is the remaining time for voting. Activation is the execution time of the code after the vote is passed. - -![image-20220127132418133](./assets/fast-track.assets/image-20220127132418133.png) - -After voting, you will see the code to be executed in the dispatch queue: - -![image-20220127132401086](./assets/fast-track.assets/image-20220127132401086.png) diff --git a/docs/ko/staking-model/generate-new-account.md b/docs/ko/staking-model/generate-new-account.md deleted file mode 100644 index e9f26efec..000000000 --- a/docs/ko/staking-model/generate-new-account.md +++ /dev/null @@ -1,52 +0,0 @@ -# Generate new DBC account - -::: warning -No matter which method is used to generate the account, be sure to keep the mnemonic phrase and private key. -::: - -## Option 1: By `polkadot{.js}` adds-on - -- Chrome, install via [Chrome web store](https://chrome.google.com/webstore/detail/polkadot{js}-extension/mopnmbcafieddcagagdcbnhejhlodfdd) - -- Firefox, install via [Firefox add-ons](https://addons.mozilla.org/en-US/firefox/addon/polkadot-js-extension/) - -After the installation is complete, new account can be generated through the browser plug-in. - -## Option 2: By command line - -```shell -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -cargo install --force subkey --git https://github.com/paritytech/substrate --version 2.0.1 --locked -subkey generate --scheme sr25519 # 生成账户,输出内容如下: -``` - -``` -Secret phrase `final huge obscure action vacuum public banner autumn remove close exotic rotate` is account: - Secret seed: 0x4b6490134a277f9d4ba36a5671eefa122159dbdecb1fb5f4e937bb8c3f0d2474 - Public key (hex): 0xbae85335116a2f65417d26226ac7d3de188c5160915378ceb4dd7e59a1f0c873 - Public key (SS58): 5GHmn7gTjf7JsXCdieFj7Ypu8gibCXdroU2jG182H2e3zMkf - Account ID: 0xbae85335116a2f65417d26226ac7d3de188c5160915378ceb4dd7e59a1f0c873 - SS58 Address: 5GHmn7gTjf7JsXCdieFj7Ypu8gibCXdroU2jG182H2e3zMkf -``` - -> Install `subkey` and other flags, please reference:[https://substrate.dev/docs/en/knowledgebase/integrate/subkey](https://substrate.dev/docs/en/knowledgebase/integrate/subkey) - - -## How to convert `secret phrase` to `private key` - -Some operations on the chain sometimes need to be signed with a private key. When the mnemonic phrase is saved, you can use subkey to convert the mnemonic phrase into a private key. - -```bash -subkey inspect "grief cabin hint replace chalk recall alpha crunch vacant range success rent" -``` - -The message generated is as follows: - -```bash -Secret phrase `grief cabin hint replace chalk recall alpha crunch vacant range success rent` is account: - Secret seed: 0xb4789ce6da4c3eece566ae7848f91822079d7e9b07e4cb77f00beafcb28fb611 - Public key (hex): 0xfabef9d9550ecc3247035be7091ea7d8b384cfdeb1dfae3ff80ba9515cca2570 - Public key (SS58): 5HjUZSGCZgBN86syLVRrW1mAHE6nFZcxK5AFephzoj5xc1FN - Account ID: 0xfabef9d9550ecc3247035be7091ea7d8b384cfdeb1dfae3ff80ba9515cca2570 - SS58 Address: 5HjUZSGCZgBN86syLVRrW1mAHE6nFZcxK5AFephzoj5xc1FN -``` diff --git a/docs/ko/staking-model/join-dbc-network.md b/docs/ko/staking-model/join-dbc-network.md deleted file mode 100644 index 5400b010f..000000000 --- a/docs/ko/staking-model/join-dbc-network.md +++ /dev/null @@ -1,141 +0,0 @@ -# How to run as DBC validator? - -## 0. Recommended hardware - -- RAM:8G -- CPU:2 cores -- Disk:100G -- OS: ubuntu20.04 ++ - -## 1. Generate stash account - -(If you already have stash account, you can skip this) - -Reference: [Generate new dbc account](generate-new-account.md) - -## 2. Get `dbc-chain` binary - -### Option 1: use pre-build version (recommended) - -> If any errors, please use Option 2 - -```bash -mkdir dbc-chain-mainnet && cd dbc-chain-mainnet -wget https://github.com/DeepBrainChain/DeepBrainChain-MainChain/releases/download/v3.3/dbc_chain_linux_x64.tar.gz -O dbc_chain_linux_x64.tar.gz - -tar xf dbc_chain_linux_x64.tar.gz -``` - -### Option 2: compile from source - -```bash -# install dependency -curl https://getsubstrate.io -sSf | bash -s -- --fast -source ~/.cargo/env - -# compile dbc-chain -git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git -cd DeepBrainChain-MainChain && git checkout v3.3 -cargo build --release -``` - -### 3. Synchronize Chain Data - -```bash -./dbc-chain --base-path ./db_data --pruning archive -``` - -- If you compile from source, the binary path is `./target/release/dbc-chain` - -- After finished synchronize, type `Control + C` to close the above command. You can compare `target` and `best` to infer if sync is finished. When `target` is closed (100 blocks, for example) to `best` , it can be regard sync is finished. - -![](./assets/join_dbc_network.assets/image-20210126021938613.png) - -- **Flags in detail:** - - `--base-path`:Specifies a directory where Substrate should store all the data related to this chain. If this value is not specified, a default path will be used. If the directory does not exist it will be created for you. If other blockchain data already exists there you will get an error. Either clear the directory or choose a different one. - - `--chain ./dbcSpecRaw.json`:Specifies which chain specification to use. - - `--pruning=archive`:synchronize chain data - - `--bootnodes`:specified a single boot node. ( If you encounter a synchronization status of 0 peers, you can try to specify --bootnodes /ip4/122.99.183.53/tcp/3308/p2p/12D3KooWDx4pgzT2RAPF12QkmiBZy6BUsTtPt7JgiYxgFm6Z5Hc5 or other known synchronization nodes) - -## 4.Then run the node as a validator: - -```bash -#Start node -nohup ./dbc-chain --base-path ./db_data --chain dbcSpecRaw.json --validator --name YourNodeName 1>dbc_node.log 2>&1 & - -#If you encounter a startup error -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./dbc-chain) - -#solution: -#1. Users in China: -echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -#2. Non-China users -echo "deb http://archive.ubuntu.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -``` - -- If you compile from source, the binary path is `./target/release/dbc-chain` -- You can give your validator any name that you like, but note that others will be able to see it, and it will be included in the list of all servers using the same telemetry server. Since numerous people are using telemetry, it is recommended that you choose something likely to be unique. - -## 5. generate`rotateKey` - -Run the following command in the terminal, and record the result. - -```bash -curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933 -``` - -## 6. Bond stash - -- open [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts) you will see your balance: ![image-20210121194808850](./assets/join_dbc_network.assets/image-20210121194808850.png) - -- navigate to`Staking > Account actions`,click `stash`![image-20210121194953014](./assets/join_dbc_network.assets/image-20210121194953014.png) - -- You should set bond balance(Make sure not to bond all your DBC balance since you will be unable to pay transaction fees from your bonded balance.):![image-20210121195033167](./assets/join_dbc_network.assets/image-20210121195033167.png) - -**Description:** - -- `Stash account`:Select your Stash account. In this example, we will bond 45 DBC - make sure that your Stash account contains _at least_ this much. You can, of course, stake more than this. - -- `controller account`:Select the Controller account created earlier. This account will also need a small amount of DBC in order to start and stop validating. - -- `value bonded`:How much DBC from the Stash account you want to bond/stake. Note that you do not need to bond all of the DBC in that account. Also note that you can always bond _more_ DBC later. - -- `payment destination`:The account where the rewards from validating are sent. - -## 7. Set Session Keys - -- After bond your stash,you can see in Polkadot UI `Session Key`button:![image-20210121195307711](./assets/join_dbc_network.assets/image-20210121195307711.png) - -- click it and input the result in step 5`rotateKeys`![image-20210121200709277](./assets/join_dbc_network.assets/image-20210121200709277.png) - -- Now, check in [Telemetry](https://telemetry.polkadot.io/#list/0xd523fa2e0581f069b4f0c7b5944c21e9abc72305a08067868c91b898d1bf1dff) and you can see your node.![image-20210121234945030](./assets/join_dbc_network.assets/image-20210121234945030.png) - -## 8. Validate - -- After steps above you can see`Validate` button and click it, - -![image-20210121235144583](./assets/join_dbc_network.assets/image-20210121235144583.png) - -- You should set your preference as a validator. - -![image-20210121235217665](./assets/join_dbc_network.assets/image-20210121235217665.png) - -- In `reward commission percentage` you should input your commission preference. Then clieck `Validate` to send this transaction。Then,in `Waiting` page,you are waiting status`Era` to be a validator. - -![image-20210121235451552](./assets/join_dbc_network.assets/image-20210121235451552.png) - -## 9. Claim your rewards payout? - -Navigate to `Staking > Payouts > Max, 84 eras` ,you may see all the rewards to be payout: - -![image-20210329095933403](./assets/join_dbc_network.assets/image-20210329095933403.png) - -chick `Payout all` button to send a transaction. diff --git a/docs/ko/staking-model/run-archive-node_en.md b/docs/ko/staking-model/run-archive-node_en.md deleted file mode 100644 index c4579f5a0..000000000 --- a/docs/ko/staking-model/run-archive-node_en.md +++ /dev/null @@ -1,79 +0,0 @@ -# How to run a synchronization node? - -> Note: The current mainnet Polkadot version is 3.0. You still need to use the original 2.0 version for synchronization. The latest 3.0 program cannot yet be directly synchronized. - -## 1. Configure environment - -### 1.1 Use precompiled version - -```bash -sudo mkdir dbc-chain-mainnet && cd dbc-chain-mainnet -wget https://github.com/DeepBrainChain/DeepBrainChain-MainChain/releases/download/v3.3/dbc_chain_linux_x64.tar.gz -O dbc_chain_linux_x64.tar.gz -tar xf dbc_chain_linux_x64.tar.gz -``` - -### 1.2 Manual compilation - -```bash -# Install dependencies -curl https://getsubstrate.io -sSf | bash -s -- --fast -source ~/.cargo/env - -# Compile dbc-chain -git clone https://github.com/DeepBrainChain/DeepBrainChain-MainChain.git -cd DeepBrainChain-MainChain -git checkout v3.3 -cargo build --release -``` - -## 2. Run the synchronization node - -```bash -# Execute using precompilation -./dbc-chain --base-path ./db_data --pruning archive -``` - -```bash -# Manual compilation and execution: -./target/release/dbc-chain --base-path ./db_data --pruning archive -``` - -> Port parameters: -> -> ``` -> --rpc-port 9933 # Specify the port on which your node listens for RPC. 9933 is the default value, so this parameter can also be ignored -> --ws-port 9945 # Specify the port your node uses to listen to WebSocket. The default port is 9944 -> --port 30333 # Specify the node port you use to listen for p2p traffic. 30333 is the default port. You can ignore this flag if there is no need to change it. -> ``` -> -> Other parameters reference: -> -> ``` -> --ws-max-connections 2000 -> --in-peers 200 -> --out-peers 200 -> ``` -> -> When encountering the phenomenon of 0 peers during synchronization, you need to specify bootnodes for synchronization. Old users can find it by querying the previous synchronization node logs. New users can try to specify -> ```` --bootnodes /ip4/122.99.183.53/tcp/3308/p2p/12D3KooWDx4pgzT2RAPF12QkmiBZy6BUsTtPt7JgiYxgFm6Z5Hc5```` - -## 3. Runtime Error Solution - -```shell -#If you encounter a startup error in Ubuntu 20.04 or earlier -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./dbc-chain) -./dbc-chain: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by ./dbc-chain) - -#solution: -#1. Equipment in China: -echo "deb http://mirrors.aliyun.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -#2. Non-China equipment: -echo "deb http://archive.ubuntu.com/ubuntu/ jammy main" >> /etc/apt/sources.list -sudo apt update -sudo apt install libc6 libstdc++6 -y -``` diff --git a/docs/ko/staking-model/staking-dbc-and-voting.md b/docs/ko/staking-model/staking-dbc-and-voting.md deleted file mode 100644 index c2d55aae6..000000000 --- a/docs/ko/staking-model/staking-dbc-and-voting.md +++ /dev/null @@ -1,43 +0,0 @@ -# How to nominate on DBC? - -## 1. Generate stash account - -(If you already have stash account, you can skip this) - -Reference: [How to generate new account](generate-new-account.md) - -## 2. Get some DBC. - -Open [https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts](https://www.dbcwallet.io/?rpc=wss%3A%2F%2Finfo.dbcwallet.io#/accounts) and you can see your account and your balance: - -![](./assets/staking_dbc_and_voting.assets/image-20210122210826588.png) - -## 3. Nominator - -- Navigate to `Network > Staking > Account actions`, click `Nominator` - -![](./assets/staking_dbc_and_voting.assets/image-20210122210945889.png) - -- set your stash account,controller account and`value bonded`,then click next - -![](./assets/staking_dbc_and_voting.assets/image-20210122211057762.png) - -- then, you should select the validator. (**You can nominate more than one validator**). - -![](./assets/staking_dbc_and_voting.assets/image-20210122211203371.png) - -- Finally click `Bond & Nominate` to send the transaction and finished the nominate. - -## 4. Check your nominate result - -Navigate to`Network > Staking > Account actions`, you can see the balance of bonded DBC and the validator you nominated. - -![](./assets/staking_dbc_and_voting.assets/image-20210122211537605.png) - -## 5. Nominate the second time - -Nominate in `step 6` include two step: set `stash account` bond `controller` account and nominate a validator. - -If we want to nominate the second time, only need to click `Nominate` button: - -Navigate to `Staking > Account actions > stashes > Nominate`, select the validator you want to nominate. It's done!