จับมือคุณเข้าร่วมในการจำนำเครือข่ายหลัก Ethereum 2.0
ที่มา |someresat.medium.com

ที่มา |
Ubuntu v20.04 (LTS) x64 server Ubuntuอ้างอิงจากไคลเอนต์ Teku ของ ConsenSys บทความนี้จะอธิบายรายละเอียดวิธีการเข้าร่วมในการจำนำ Ethereum 2.0 mainnet ขึ้นอยู่กับเทคโนโลยีต่อไปนี้เป็นหลัก:
Go Ethereum Node (code branch) Go Ethereumโหนด (สาขารหัส)
Wallet การเข้ารหัสปลั๊กอินของเบราว์เซอร์MetaMask
ขอบคุณ
ขอบคุณ
บทช่วยสอนนี้อ้างอิงถึงสื่อต่างๆ บนอินเทอร์เน็ต ขอบคุณผู้ร่วมให้ข้อมูลที่จัดเตรียมสื่อให้!
บทช่วยสอนนี้อ้างอิงถึงสื่อต่างๆ บนอินเทอร์เน็ต ขอบคุณผู้ร่วมให้ข้อมูลที่จัดเตรียมสื่อให้!EthStakerปลื้มปีติ
ชื่อระดับแรก
ข้อจำกัดความรับผิดชอบ
ชื่อระดับแรก
สนับสนุน
สำหรับการสนับสนุนทางเทคนิค กรุณาติดต่อ:
ชุมชน EthStaker เป็นชุมชน Ethereum 2.0 ที่มีทรัพยากรมากมายและเป็นมิตรมาก
Reddit:https://www.reddit.com/r/ethstaker/
Discord:https://discord.gg/7z8wzehjrJ
ชื่อระดับแรกhttps://discord.gg/trQ378WCp4
เงื่อนไข
เงื่อนไข
ยังต้องเตรียม:
เซิร์ฟเวอร์อูบุนตู v20.04 (LTS) amd64เซิร์ฟเวอร์อูบุนตู v20.04 (LTS) amd64
หรือเซิร์ฟเวอร์ Ubuntu ที่ใหม่กว่าติดตั้งและทำงานบนเครื่องคอมพิวเตอร์ของคุณหรือในระบบคลาวด์
การเรียกใช้คอมพิวเตอร์เฉพาะที่จะช่วยให้มีการกระจายอำนาจ เนื่องจากหากผู้ให้บริการคลาวด์หยุดทำงาน โหนดทั้งหมดที่โฮสต์บนผู้ให้บริการนั้นจะหยุดทำงานตามไปด้วยMetaMaskติดตั้งหรือกำหนดค่าปลั๊กอินของเบราว์เซอร์ Crypto Wallet
(หรือพอร์ติส, ฟอร์มาติค). คอมพิวเตอร์ที่มีระบบปฏิบัติการ (Mac, Windows, Linux ฯลฯ) และเบราว์เซอร์ (Brave, Safari, FireFox ฯลฯ)
ชื่อระดับแรก
จำเป็นต้อง
จำเป็นต้อง
ชื่อระดับแรก
ภาพรวม
แผนภาพอย่างง่ายต่อไปนี้ระบุขอบเขตของบทช่วยสอนนี้ และสีเหลืองคือส่วนที่กล่าวถึงในบทความนี้:

กระบวนการทั้งหมดสามารถกำหนดเป็นแนวคิดได้ดังนี้:
กระบวนการทั้งหมดสามารถกำหนดเป็นแนวคิดได้ดังนี้:
สร้างคู่คีย์ตัวตรวจสอบและข้อมูลเงินฝาก
เตรียมเซิร์ฟเวอร์ Ubuntu (ไฟร์วอลล์ การตั้งค่าความปลอดภัย ฯลฯ)
ตั้งค่าโหนด Eth1 และซิงโครไนซ์ข้อมูลของ Eth1 blockchain
เริ่มกันเลย!
เริ่มกันเลย!
ชื่อระดับแรก
ขั้นตอนที่ 1: สร้างข้อมูลจำนำ
การมีส่วนร่วมในการเดิมพันเริ่มต้นด้วยการตัดสินใจว่าคุณต้องการเรียกใช้โหนดตัวตรวจสอบความถูกต้องจำนวนเท่าใดและสร้างไฟล์ข้อมูลตามนั้น
โหนดเครื่องมือตรวจสอบจำเป็นต้องฝาก 32 ETH และคุณต้องมี ETH เพียงพอในกระเป๋าสตางค์ MetaMask ของคุณ ตัวอย่างเช่น หากคุณวางแผนที่จะเรียกใช้โหนดเครื่องมือตรวจสอบความถูกต้อง 5 โหนด คุณจะต้องเตรียม 160 ETH (32*5) และสำรองค่าธรรมเนียมก๊าซ ขั้นตอนการฝากเงินจะอธิบายในภายหลัง และต่อไปนี้จะสอนวิธีเรียกใช้อุปกรณ์
คลิก
คลิกที่นี่ที่นี่
ดาวน์โหลดแอพ Deposit Command Line Interface รุ่นล่าสุด (แอพ CLI)https://github.com/ethereum/eth2.0-deposit-cli/releases/

ในคอลัมน์ "สินทรัพย์" เลือกเวอร์ชันที่ตรงกับอุปกรณ์ของคุณ (เช่น Windows, Mac, Linux Desktop เป็นต้น) แล้วดาวน์โหลด
ชื่อเรื่องรอง
เรียกใช้เครื่องมือการฝาก (Eth2 ฝาก CLI)
เปิดเครื่องรูดไฟล์ควรมีไฟล์ไบนารี (เรียกใช้งานได้) อยู่ข้างใน เครื่องมือการฝากสร้างไฟล์สำหรับการเดิมพันและชุดของวลีเริ่มต้น ความจำชุดนี้จำเป็นต้องเก็บไว้อย่างปลอดภัย มีสองตัวเลือกด้านล่าง:
วิธีแก้ไขที่แนะนำ: คัดลอกและวางไฟล์ไบนารีนี้ลงในไดรฟ์ USB เชื่อมต่อกับคอมพิวเตอร์ที่ไม่เคยเชื่อมต่อกับอินเทอร์เน็ตมาก่อน คัดลอกไฟล์ไปยังคอมพิวเตอร์และเริ่มทำงาน
ไม่แนะนำ: เรียกใช้บนคอมพิวเตอร์ที่คุณกำลังใช้อยู่ แต่การเชื่อมต่อเครือข่ายอาจทำให้คีย์ช่วยในการจำของคุณรั่วได้ หากคุณไม่มีคอมพิวเตอร์ที่ไม่ได้เชื่อมต่อกับเครือข่าย ให้ตัดการเชื่อมต่อจากเครือข่ายก่อนเริ่มการทำงานเมื่อคุณพร้อม ให้เรียกใช้ไฟล์นี้ในหน้าต่างเทอร์มินัล (หรือ CMD บน windows) เพื่อใช้คำสั่งด้านล่างต่อไป เมื่อคุณกำหนดจำนวนโหนดตัวตรวจสอบที่คุณต้องการรันแล้ว ให้แทนที่จำนวนนั้นด้วย
Linux/Mac:
./deposit new-mnemonic --num_validators --chain mainnet
Windows:
deposit.exe new-mnemonic --num_validators --chain mainnet
. ตัวอย่างเช่น: --num_validators 2

หลังจากทำตามขั้นตอนด้านบนบนคอมพิวเตอร์ที่คุณเลือกแล้ว คุณจะถูกขอให้สร้างรหัสผ่านที่เก็บคีย์สำหรับตรวจสอบความถูกต้องและเก็บไว้ในที่ปลอดภัย ในขั้นตอนต่อมา คุณจะต้องใช้ที่เก็บคีย์นี้เพื่ออัปโหลดคีย์ตัวตรวจสอบความถูกต้องไปยังกระเป๋าเงินตัวตรวจสอบความถูกต้องของ Teku

ชุดวลีช่วยจำจะถูกสร้างขึ้น สิ่งสำคัญคือคุณต้องเก็บไว้ในที่ปลอดภัย เพราะท้ายที่สุดแล้ว คุณต้องใช้ตัวช่วยจำเพื่อสร้างคีย์การถอนเพื่อถอน ETH ที่จำนำไว้ และคุณยังต้องใช้ตัวช่วยจำเมื่อเพิ่มโหนดเครื่องมือตรวจสอบความถูกต้อง หากคุณสูญเสียวลีเริ่มต้น คุณจะไม่มีทางถอนทรัพย์สินของคุณได้

เมื่อคุณคลิกเพื่อยืนยันว่าคุณจำความจำได้แล้ว คู่คีย์ตัวตรวจสอบความถูกต้องของคุณจะถูกสร้างขึ้น

คู่คีย์ตัวตรวจสอบความถูกต้องที่สร้างขึ้นใหม่และไฟล์ข้อมูลเงินฝากจะถูกวางไว้ในตำแหน่งที่ระบุ เนื้อหาของโฟลเดอร์มีดังนี้:
เกี่ยวกับไฟล์เหล่านี้:
· ไฟล์ keystore-m...json มีคีย์การลงนามตัวตรวจสอบความถูกต้องที่เข้ารหัส แต่ละโหนดตัวตรวจสอบความถูกต้องสอดคล้องกับ "keystore-m" ไฟล์นี้จะถูกนำเข้าไปยังกระเป๋าสตางค์ของโปรแกรมตรวจสอบความถูกต้องของ Teku เพื่อใช้ในการเดิมพัน ไฟล์เหล่านี้จำเป็นต้องคัดลอกและวางลงในเซิร์ฟเวอร์ Ubuntu
ชื่อเรื่องรอง
ขั้นตอนสุดท้าย
เมื่อคุณมีข้อมูลเงินฝากและไฟล์ที่เก็บคีย์แล้ว ก็ถึงเวลาตั้งค่าเซิร์ฟเวอร์ Ubuntu ของคุณ
สิ่งสำคัญคือต้องทำและยืนยันการตั้งค่าการเดิมพันของคุณให้เสร็จก่อน หากเปิดใช้งานการฝากเงิน ETH แต่การตั้งค่าการเดิมพันไม่พร้อม คุณจะถูกลงโทษสำหรับการก่อวินาศกรรม
ชื่อระดับแรก
ขั้นตอนที่ 2: เชื่อมต่อกับเซิร์ฟเวอร์
ใช้พอร์ต SSH เชื่อมต่อกับเซิร์ฟเวอร์ Ubuntu ของคุณ หากคุณเข้าสู่ระบบในฐานะรูท วิธีที่ดีที่สุดคือสร้างบัญชีผู้ใช้ใหม่ด้วยสิทธิ์ของผู้ดูแลระบบ เนื่องจากการเข้าสู่ระบบในฐานะรูทนั้นมีความเสี่ยงสูง
หมายเหตุ: หากคุณไม่ได้เข้าสู่ระบบในฐานะ root คุณสามารถข้ามไปยังขั้นตอนที่ 3 ได้โดยตรงสร้างบัญชีใหม่. มีอยู่
# adduser
กรอกชื่อผู้ใช้ของคุณใน ตั้งรหัสผ่านที่มีความปลอดภัยสูง และป้อนข้อมูลทางเลือกอื่นๆ
# usermod -aG sudo
ให้สิทธิ์ผู้ดูแลระบบแก่ผู้ใช้ใหม่โดยเพิ่มลงในกลุ่ม sudo ด้วยวิธีนี้ ผู้ใช้ป้อนคำสั่ง sudo ก่อนบรรทัดคำสั่ง และการดำเนินการจะดำเนินการด้วยสิทธิ์ของผู้ใช้ขั้นสูง
# rsync --archive --chown=: ~/.ssh /home/
เข้าสู่ระบบเซิร์ฟเวอร์ Ubuntuเข้าสู่ระบบเซิร์ฟเวอร์ Ubuntu
ข้อความ
ตรวจสอบให้แน่ใจว่าระบบได้รับการอัพเดตเป็นซอฟต์แวร์ล่าสุดและการตั้งค่าความปลอดภัย
$ sudo apt update && sudo apt upgrade$ sudo apt dist-upgrade && sudo apt autoremove
$ sudo reboot
ความปลอดภัยเป็นสิ่งสำคัญมาก แต่เนื่องจากบทความนี้ไม่ใช่แนวทางเพื่อความปลอดภัย จึงแสดงเฉพาะการตั้งค่าพื้นฐานบางอย่างเท่านั้น
ความปลอดภัยเป็นสิ่งสำคัญมาก แต่เนื่องจากบทความนี้ไม่ใช่แนวทางเพื่อความปลอดภัย จึงแสดงเฉพาะการตั้งค่าพื้นฐานบางอย่างเท่านั้น
ชื่อเรื่องรอง
แก้ไขพอร์ตเริ่มต้น SSH
พอร์ตเริ่มต้นของ SSH คือพอร์ต 22 ซึ่งเป็นเวกเตอร์ที่มีช่องโหว่ ดังนั้นพอร์ต SSH จึงสามารถปรับเปลี่ยนเพื่อป้องกันการโจมตีได้
$ sudo ss -tulpn | grep ':'
เลือกหมายเลขพอร์ตระหว่าง 1024 - 49151 และเรียกใช้คำสั่งต่อไปนี้เพื่อดึงหมายเลขพอร์ตที่ไม่ได้ใช้ ไม่มีอย่างอื่นหมายความว่าหมายเลขพอร์ตไม่ได้ใช้งาน สีแดงหมายถึงใช้งานอยู่ ลองใช้หมายเลขพอร์ตอื่น ตัวอย่างเช่น: sudo ss -tulpn | grep ':6673'
$ sudo nano /etc/ssh/sshd_config
หลังจากพิจารณาว่ามีหมายเลขพอร์ตแล้ว ให้แก้ไขพอร์ตเริ่มต้นโดยอัปเดตการตั้งค่า SSH
Port
เรียกหรือเพิ่ม (หากไม่มี) บรรทัดคำสั่งพอร์ต 22 ในไฟล์ ลบ # (ถ้ามี) และป้อนหมายเลขพอร์ตในบรรทัดคำสั่งด้านล่าง

อ้างอิงถึงภาพหน้าจอด้านล่าง กด CTRL+x แล้วเลือก 'y' กด Enter เพื่อบันทึกและออก
$ sudo systemctl restart ssh
เริ่มบริการ SSH ใหม่เพื่อแสดงการเปลี่ยนแปลงที่ทำไว้ด้านบนชื่อเรื่องรอง
กำหนดค่าไฟร์วอลล์
กำหนดค่าไฟร์วอลล์
เซิร์ฟเวอร์ Ubuntu 20.04 สามารถใช้ไฟร์วอลล์ UFW เริ่มต้นเพื่อจำกัดการรับส่งข้อมูลไปยังเซิร์ฟเวอร์ แต่ก่อนอื่นให้ตั้งค่าให้อนุญาตการรับส่งข้อมูลขาเข้าจาก SSH, Go Ethereum, Teku
ติดตั้งไฟร์วอลล์ UFW
$ sudo apt install ufw
ป้อนบรรทัดคำสั่งด้านล่างเพื่อให้แน่ใจว่ามีการติดตั้ง UFW ตามค่าเริ่มต้น
ใช้ค่าเริ่มต้นอย่างชัดเจน ปฏิเสธการรับส่งข้อมูลขาเข้าและอนุญาตการรับส่งข้อมูลขาออก
$ sudo ufw default deny incoming$ sudo ufw default allow outgoing
อนุญาต ssh
อนุญาต sshอนุญาตหมายเลขพอร์ตที่คุณตั้งไว้ก่อนหน้านี้
$ sudo ufw allow /tcp
ของการจราจรขาเข้า. SSH ต้องการโปรโตคอล TCP ตัวอย่างเช่น: sudo ufw อนุญาต 6673/tcp
ปฏิเสธหมายเลขพอร์ต SSH 22
หมายเหตุ: ทำขั้นตอนนี้หลังจากที่คุณแก้ไขพอร์ตเริ่มต้น SSH เสร็จแล้ว
$ sudo ufw deny 22/tcp
อนุญาต Go Ethereum
อนุญาตการเชื่อมต่อแบบเพียร์ทูเพียร์ (P2P) กับ Go Ethereum เพียร์ (พอร์ต 30303) คุณสามารถข้ามขั้นตอนนี้ได้หากคุณใช้โหนด Eth1 ที่โฮสต์โดยบุคคลที่สาม
หมายเหตุ: หากคุณโฮสต์เซิร์ฟเวอร์ Ubuntu ไว้ในเครื่อง คุณจะต้องกำหนดค่าเราเตอร์เครือข่ายให้อนุญาตการรับส่งข้อมูลขาเข้าจากพอร์ต 30303
$ sudo ufw allow 30303
หมายเหตุ: หากคุณโฮสต์เซิร์ฟเวอร์ Ubuntu ไว้ในเครื่อง คุณจะต้องกำหนดค่าเราเตอร์เครือข่ายให้อนุญาตการรับส่งข้อมูลขาเข้าจากพอร์ต 30303
อนุญาตให้ลูกค้า Teku
อนุญาตการเชื่อมต่อแบบ Peer-to-Peer กับ Teku สำหรับการดำเนินการบนโหนด Beacon Chain (พอร์ต 9000)
$ sudo ufw allow 9000
หมายเหตุ: หากคุณโฮสต์เซิร์ฟเวอร์ Ubuntu ไว้ในเครื่อง คุณจะต้องกำหนดค่าเราเตอร์เครือข่ายให้อนุญาตการรับส่งข้อมูลขาเข้าจากพอร์ต 9000
$ sudo ufw enable$ sudo ufw status numbered
อ้างอิงถึงภาพหน้าจอด้านล่าง

ชื่อระดับแรก
ขั้นตอนที่ 5: กำหนดค่าตัวจับเวลา
$ timedatectl
Ubuntu มีการซิงโครไนซ์เวลาในตัวและเปิดใช้งานโดยค่าเริ่มต้นโดยใช้บริการ timesyncd ของ systemd ตรวจสอบว่าทำงานได้อย่างถูกต้อง
$ sudo timedatectl set-ntp on
ในการเปิดใช้งานบริการ NTP ให้เรียกใช้:

สามารถใช้บริการตัวจับเวลาเดียวเท่านั้น หากคุณเคยติดตั้ง NTPD มาก่อน คุณต้องตรวจสอบว่าไฟล์นี้ยังคงอยู่หรือไม่ และหากมีอยู่ โปรดใช้บรรทัดคำสั่งต่อไปนี้เพื่อลบออก
$ ntpq -p$ sudo apt-get remove ntp
ชื่อระดับแรก
ขั้นตอนที่ 6: ตั้งค่าโหนด Eth1
ชื่อเรื่องรอง
ติดตั้ง Go Ethereum
ติดตั้ง Go Ethereum
$ sudo add-apt-repository -y ppa:ethereum/ethereum$ sudo apt update
$ sudo apt install geth
สร้างไดเร็กทอรีข้อมูลสำหรับ Eth1 blockchain เพื่อเก็บข้อมูลโหนด Eth1
$ sudo useradd --no-create-home --shell /bin/false goeth
สร้างไดเร็กทอรีข้อมูลสำหรับ Eth1 blockchain เพื่อเก็บข้อมูลโหนด Eth1
$ sudo mkdir -p /var/lib/goethereum
ตั้งค่าการอนุญาตของไดเร็กทอรี บัญชี goeth ต้องได้รับอนุญาตในการแก้ไขไดเร็กทอรีข้อมูล
$ sudo chown -R goeth:goeth /var/lib/goethereum
สร้างไฟล์การกำหนดค่าบริการ systemd เพื่อกำหนดค่าบริการ
$ sudo nano /etc/systemd/system/geth.service
คัดลอกและวางการกำหนดค่าบริการต่อไปนี้ลงในเอกสาร
[Unit]Description=Go Ethereum Client
After=network.target
Wants=network.target[Service]
User=goeth
Group=goeth
Type=simple
Restart=always
RestartSec=5
ExecStart=geth --http --datadir /var/lib/goethereum --cache 2048 --maxpeers 30[Install]
WantedBy=default.target
คัดลอกและวางการกำหนดค่าบริการต่อไปนี้ลงในเอกสารflags:
ต้องการความสนใจhttp://localhost:8545)。
--http ใช้เพื่อแสดงพอร์ต HTTP สำหรับเชื่อมต่อกับโหนดโซ่สัญญาณ Teku (
--cache หมายถึงขนาดของแคชภายในหน่วยเป็น GB ค่าจะเพิ่มขึ้นหรือลดลงขึ้นอยู่กับหน่วยความจำระบบที่มีอยู่ของคุณ การตั้งค่า 2048 จะใช้ RAM ประมาณ 4-5 GB
--maxpeers หมายถึงจำนวนสูงสุดของเพียร์ที่เชื่อมต่อ ยิ่งจำนวนโหนดมากเท่าใด พื้นที่ว่างสำหรับข้อมูลเครือข่ายก็จะยิ่งมากขึ้นเท่านั้น ดังนั้นอย่าลืมตั้งค่านี้ต่ำเกินไป มิฉะนั้นโหนด Eth1 ของคุณจะมีปัญหาในการซิงค์

อ้างอิงถึงภาพหน้าจอด้านล่าง กด CTRL+x แล้วเลือก 'y' กด Enter เพื่อบันทึกและออก
$ sudo systemctl daemon-reload$ sudo systemctl start geth
$ sudo systemctl status geth
อ้างอิงถึงภาพหน้าจอด้านล่าง:

หากคุณทำทุกอย่างถูกต้อง มันจะขึ้นว่า "ใช้งานอยู่ (กำลังทำงาน)" เป็นตัวอักษรสีเขียว". หากไม่ปรากฏขึ้น คุณจะต้องย้อนกลับและทำตามขั้นตอนข้างต้นซ้ำเพื่อแก้ไขปัญหา กด Q เพื่อออก (การดำเนินการนี้จะไม่ส่งผลกระทบต่อบริการ geth)
อนุญาตให้บริการ geth เริ่มต้นโดยอัตโนมัติเมื่อรีบูตระบบ
$ sudo systemctl enable geth
อนุญาตให้บริการ geth เริ่มต้นโดยอัตโนมัติเมื่อรีบูตระบบ
$ sudo journalctl -fu geth.service
อ้างอิงถึงภาพหน้าจอด้านล่าง:

ชื่อเรื่องรอง
ตรวจสอบสถานะการซิงค์
geth attach http://127.0.0.1:8545> eth.syncing
หากต้องการตรวจสอบสถานะการซิงค์โหนด Eth1 ให้ใช้คำสั่งต่อไปนี้เพื่อเข้าถึงคอนโซล
หากแสดงเป็นเท็จ แสดงว่าการซิงค์ของคุณเสร็จสมบูรณ์ หากมีข้อความว่าซิงค์ข้อมูล แสดงว่าคุณยังซิงค์อยู่ สำหรับการอ้างอิง มีประมาณ 700-800 ล้านรู้จักรัฐ

กด "CTRL+d" เพื่อออก
ชื่อเรื่องรอง
ตรวจสอบเพื่อนที่เชื่อมต่อ
geth attach http://127.0.0.1:8545> net.peerCount
ในการตรวจสอบว่าโหนด Eth1 ของคุณเชื่อมต่อกับเพียร์ใด ให้ใช้คำสั่งต่อไปนี้เพื่อเข้าถึงคอนโซล
กด "CTRL+d" เพื่อออก
ชื่อเรื่องรอง
เพิ่ม bootnodes (ไม่บังคับ)https://gist.github.com/rfikki/a2ccdc1a31ff24884106da7b9e6a7453บางครั้งอาจใช้เวลาสักครู่เพื่อค้นหาเพียร์ที่จะซิงค์ด้วย สามารถเพิ่ม bootnodes เพื่อปรับปรุงสถานการณ์ได้ เข้าถึง
$ sudo systemctl stop geth$ sudo nano /etc/systemd/system/geth.service
แก้ไขบรรทัด ExecStart เพื่อเพิ่มแฟล็ก --bootnodes: แสดงรายการเพียร์โหนดล่าสุดด้านล่าง โดยคั่นด้วยเครื่องหมายจุลภาค
ExecStart=geth --http --datadir /var/lib/goethereum --cache 2048 --maxpeers 30 --bootnodes "enode://d0b4a09d072b3f021e233fe55d43dc404a77eeaed32da9860cc72a5523c90d31ef9fab7f3da87967bc52c1118ca3241c0eced50290a87e0a91a271b5fac8d0a6@157.230.142.236:30303,enode://5070366042daaf15752fea340e7ffce3fd8fc576ac846034bd551c3eebac76db122a73fe8418804c5070a5e6d690fae133d9953f85d7aa00375d9a4a06741dbc@116.202.231.71:30303"
บันทึกไฟล์และออก จากนั้นเริ่มบริการใหม่และดู
$ sudo systemctl daemon-reload$ sudo systemctl start geth
$ sudo journalctl -fu geth.service
หมายเหตุ: มีชุดขั้นตอนเฉพาะที่ต้องปฏิบัติตามเพื่ออัปเดต Geth ดู "ภาคผนวก A: การอัปเดต Geth" สำหรับข้อมูลเพิ่มเติม
ชื่อระดับแรก
ขั้นตอนที่ 7: ดาวน์โหลด Teku
ไคลเอนต์ Teke ประกอบด้วยไฟล์ไบนารีสองไฟล์: โหนดลูกโซ่บีคอนและไคลเอ็นต์ตัวตรวจสอบความถูกต้อง ขั้นตอนนี้จะอธิบายวิธีการดาวน์โหลด Teku ไบนารีก่อนอื่นให้เยี่ยมชม

https://github.com/ConsenSys/teku/releases และค้นหา Teku รุ่นล่าสุด โดยปกติจะอยู่ที่ด้านบนสุดของหน้า ตัวอย่างเช่น

เลือก "การแจกแจงแบบไบนารี" ในคอลัมน์ "ดาวน์โหลด"

จากนั้นคัดลอกและวางลิงก์ดาวน์โหลดลงในไฟล์ "teku-…tar.gz" โปรดตรวจสอบว่าลิงค์ที่คัดลอกถูกต้อง
เรียกใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดไฟล์เหล่านี้ เปลี่ยน URL ในส่วนคำแนะนำด้านล่างเป็นลิงค์ดาวน์โหลดสำหรับเวอร์ชันล่าสุด 。
$ cd ~$ sudo apt install curl
$ curl -Lo teku-20.11.0.tar.gz https://bintray.com/consensys/pegasys-repo/download_file?file_path=teku-20.11.0.tar.gz
โปรดทราบว่าไวยากรณ์คือ curl -Lo
$ tar xvf teku-20.11.0.tar.gz$ sudo cp -a teku-20.11.0 /usr/local/bin/teku
แยกไบนารีออกจากไฟล์เก็บถาวรและคัดลอกไปยังไดเร็กทอรี /usr/local/bin ซึ่งไคลเอนต์ Teku จะเรียกใช้ แก้ไขชื่อไฟล์ตามต้องการ
$ sudo apt install default-jre
ติดตั้งไฟล์ที่จำเป็นในการเรียกใช้ Java
$ cd ~$ sudo rm teku-20.11.0.tar.gz
$ sudo rm -r teku-20.11.0
หมายเหตุ: มีชุดขั้นตอนเฉพาะที่ต้องปฏิบัติตามเพื่ออัปเดต Teku ดู "ภาคผนวก B: การอัปเดต Teku" สำหรับข้อมูลเพิ่มเติม
ชื่อระดับแรก
นำเข้าคู่คีย์ตัวตรวจสอบความถูกต้องเพื่อกำหนดค่า Teku
ชื่อเรื่องรอง
คัดลอกไฟล์ที่เก็บคีย์ตัวตรวจสอบความถูกต้องหากตัวตรวจสอบความถูกต้องของคุณจัดเก็บไฟล์ keystore-m...json ไม่ได้สร้างขึ้นบนเซิร์ฟเวอร์ Ubuntu ของคุณ คุณจะต้องคัดลอกและวางไฟล์เหล่านี้ลงในไดเร็กทอรีในเครื่องของคุณ คุณสามารถคัดลอกไฟล์ทับด้วย USB (หากเซิร์ฟเวอร์ของคุณอยู่ในเครื่อง) หรือใช้。
วางไฟล์ที่: $HOME/eth2deposit-cli/validator_keys สร้างไดเร็กทอรีไฟล์หากจำเป็น
ชื่อเรื่องรอง
อิมพอร์ตไฟล์ที่เก็บคีย์ลงในตัวตรวจสอบความถูกต้อง
$ sudo mkdir -p /var/lib/teku$ sudo cp -a /$HOME/eth2deposit-cli/validator_keys /var/lib/teku
สร้างไดเร็กทอรีเพื่อเก็บคีย์ตัวตรวจสอบและคัดลอกผ่านไดเร็กทอรี validator_keys ที่มีไฟล์ keystore-m...json
$ cd /var/lib/teku/validator_keys$ ls
$ sudo rm
ชื่อเรื่องรอง

สร้างเอกสารรหัสผ่านตัวตรวจสอบความถูกต้อง
สร้างเอกสารรหัสผ่านตัวตรวจสอบความถูกต้อง
Teku ต้องการไฟล์รหัสผ่านเพื่อเข้าถึงบัญชีตัวตรวจสอบความถูกต้องแต่ละบัญชีในขณะที่ทำงานและเริ่มบริการใหม่โดยอัตโนมัติ
ไฟล์ keystore-m...json แต่ละไฟล์ต้องการไฟล์รหัสผ่านที่เกี่ยวข้อง ขั้นตอนนี้จำเป็นแม้ว่ารหัสผ่านสำหรับแต่ละบัญชีตัวตรวจสอบความถูกต้องจะเหมือนกันก็ตาม การตั้งชื่อไฟล์รหัสผ่านต้องตรงกับไฟล์ keystore-m...json ที่สอดคล้องกัน
$ ls /var/lib/teku/validator_keys
รับรายการเอกสารการจัดเก็บรหัสผ่าน
สำหรับไฟล์ keystore_m*.json แต่ละไฟล์ ให้สร้างไฟล์รหัสผ่านที่มีชื่อเดียวกันก่อนที่คุณจะดำเนินการคำสั่งต่อไป ให้เริ่มด้วย
$ sudo nano /var/lib/teku/validator_keys/.txt
ตั้งชื่อเอกสาร json นี้ อย่าลืมใส่ .txt ต่อท้ายด้วย ตัวอย่างเช่น: sudo nano /var/lib/teku/validator_keys/keystore-m_12381_3600_0_0_0–1606351647.txt
ในไฟล์ txt ให้แทนที่รหัสผ่านที่เก็บคีย์ด้วย YourKeystorePasswordForThisValidator (รหัสผ่านที่คุณระบุเมื่อสร้างไฟล์ตัวตรวจสอบในขั้นตอนที่ 1)

อ้างอิงถึงภาพหน้าจอด้านล่าง กด CTRL+x ตามด้วย 'y' กด Enter เพื่อบันทึกและออก
ทำซ้ำขั้นตอนข้างต้นสำหรับแต่ละไฟล์ *.json จนกว่าไฟล์ json แต่ละไฟล์จะมีไฟล์ txt ที่มีรหัสผ่านหน่วยเก็บข้อมูลคีย์ที่สอดคล้องกัน

หมายเหตุ: ไม่ควรมีไฟล์ *deposit_data-\*.json* ถ้ามีให้ลบออก จะทำให้เกิดข้อผิดพลาดเนื่องจาก Teku จะคิดว่ามีไฟล์รหัสผ่านที่สอดคล้องกัน
ชื่อระดับแรก
ชื่อเรื่องรอง
ตั้งค่าบัญชีและไดเร็กทอรี
ชื่อเรื่องรอง
$ sudo useradd --no-create-home --shell /bin/false teku
การตั้งค่าสิทธิ์
การตั้งค่าสิทธิ์
$ sudo chown -R teku:teku /var/lib/teku$ ls -dl /var/lib/teku
ตั้งค่าการอนุญาตไดเรกทอรี บัญชี Teku ต้องได้รับการอนุญาตหากต้องการแก้ไขไดเร็กทอรีข้อมูล (/var/lib/teku) ที่สร้างในขั้นตอนก่อนหน้า

อ้างอิงถึงภาพหน้าจอด้านล่าง
$ sudo chmod -R 700 /var/lib/teku/validator_keys$ sudo ls -lh /var/lib/teku/validator_keys
อ้างอิงถึงภาพหน้าจอด้านล่าง

ชื่อเรื่องรอง
สร้างไฟล์กำหนดค่าบริการ systemd เพื่อกำหนดค่าบริการ
$ sudo nano /etc/systemd/system/teku.service
คัดลอกและวางโค้ดด้านล่างลงในเอกสาร
[Unit]Description=Teku Eth2 Client
Wants=network-online.target
After=network-online.target[Service]
User=teku
Group=teku
Type=simple
Restart=always
RestartSec=5
Environment="JAVA_OPTS=-Xmx2g"
ExecStart=/usr/local/bin/teku/bin/teku --data-base-path=/var/lib/teku --eth1-endpoint=http://localhost:8545 --validator-keys=/var/lib/teku/validator_keys:/var/lib/teku/validator_keys --rest-api-enabled=true --rest-api-docs-enabled=true --metrics-enabled --validators-graffiti=""[Install]
WantedBy=multi-user.target
คัดลอกและวางโค้ดด้านล่างลงในเอกสารflags:
ต้องการความสนใจ
Environment=”JAVA_OPTS=-Xmx2g” จำกัดขนาดฮีปไว้ที่ 2GB ดังนั้น Teku จึงทำงานโดยมีหน่วยความจำทั้งหมดประมาณ 3–3.5GB
--validators-graffiti=""--eth1-endpoint หากคุณใช้โหนด Eth1 แบบรีโมตหรือของบริษัทอื่น ให้เปลี่ยนค่านี้ หากคุณสร้างโหนด Eth1 นี้แบบโลคัล ไม่จำเป็นต้องทำการเปลี่ยนแปลงใดๆ"Hello Eth2! From Dominator"。
อ้างอิงถึงภาพหน้าจอด้านล่าง กด CTRL+x แล้วเลือก 'y' กด Enter เพื่อบันทึกและออก

โหลด systemd ใหม่เพื่อแสดงการเปลี่ยนแปลง
$ sudo systemctl daemon-reload
หมายเหตุ: หากคุณกำลังเรียกใช้โหนด Eth1 ในเครื่อง (ดูขั้นตอนที่ 6) คุณควรรอจนกว่าจะซิงค์อย่างสมบูรณ์ก่อนที่จะเริ่มบริการ Teku ตรวจสอบความคืบหน้าที่นี่: *sudo journalctl -fu geth.service*
เริ่มบริการและตรวจสอบเพื่อให้แน่ใจว่าทำงานอย่างถูกต้อง
$ sudo systemctl start teku$ sudo systemctl status teku
อ้างอิงภาพหน้าจอด้านล่าง

หากคุณทำทุกอย่างถูกต้อง มันจะขึ้นว่า "ใช้งานอยู่ (กำลังทำงาน)" เป็นตัวอักษรสีเขียว". หากไม่ปรากฏขึ้น คุณจะต้องย้อนกลับและทำตามขั้นตอนข้างต้นซ้ำเพื่อแก้ไขปัญหา กด Q เพื่อออก (จะไม่ส่งผลต่อบริการของ teku)
อนุญาตให้บริการรีสตาร์ทโดยอัตโนมัติเมื่อระบบรีสตาร์ท
$ sudo systemctl enable teku
อนุญาตให้บริการรีสตาร์ทโดยอัตโนมัติเมื่อระบบรีสตาร์ท
$ sudo journalctl -fu teku.service
หากห่วงโซ่ Eth2 อยู่ในสถานะหลังการกำเนิด Teku beacon chain จะเริ่มซิงโครไนซ์ข้อมูล อาจใช้เวลาหลายชั่วโมงในการซิงค์ให้สมบูรณ์ คุณสามารถติดตามความคืบหน้าหรือตรวจสอบข้อผิดพลาดได้ด้วยการรันคำสั่ง journalctl กด CTRL+c เพื่อออก (จะไม่ส่งผลต่อบริการของ teku)
Nov 26 21:00:50 ETH-STAKER-001 teku[41629]: 21:00:50.573 INFO - Eth1 tracker successfully caught up to chain headNov 26 21:10:49 ETH-STAKER-001 teku[41629]: 21:10:49.010 INFO - 4 days 14 hours 49 minutes 34 seconds until genesis time is reached. Peers: 74
มุมมองแบบตัดทอนของบันทึกจะแสดงข้อมูลสถานะต่อไปนี้
เมื่อ Eth2 mainnet เปิดตัว beacon chain และตัวตรวจสอบความถูกต้องจะเริ่มประมวลผลข้อมูลโดยอัตโนมัติbeaconcha.inตรวจสอบสถานะผู้รับรองของคุณ เพียงค้นหารหัสสาธารณะสำหรับตัวตรวจสอบความถูกต้องหรือใช้ที่อยู่กระเป๋าเงิน MetaMask (หรืออื่น ๆ ) เพื่อค้นหา อาจใช้เวลาสักครู่เพื่อให้ข้อมูลของคุณปรากฏบนเว็บไซต์
ชื่อระดับแรก
ขั้นตอนที่ 10: ทำการฝากเงิน Validator
เมื่อโหนดของคุณได้รับการตั้งค่าและทำงานแล้ว คุณจะต้องฝาก ETH ไว้ในโหนดตัวตรวจสอบความถูกต้องของคุณ
หมายเหตุ: หากคุณได้ส่งเงินฝากจำนำแล้ว คุณสามารถข้ามขั้นตอนนี้ได้
ขั้นตอนนี้เกี่ยวกับการฝาก ETH ที่จำเป็นในสัญญาการฝากเงินของ Eth2.0 อย่าส่ง ETH ไปยังสัญญาการฝากเงิน สิ่งนี้จำเป็นต้องเปิดกระเป๋าเงิน MetaMask (หรืออื่น ๆ ) ของคุณผ่านเว็บไซต์ Eth2.0 Launchpad บนเบราว์เซอร์
หมายเหตุ: หากทำหลังจาก Genesis คุณจะต้องทำการฝากเงินก่อนที่ทั้งโหนด Eth1 และ Beacon Chain จะซิงค์กันอย่างสมบูรณ์ หากคุณไม่ทำเช่นนั้น Teku จะอยู่ในสถานะก่อวินาศกรรมในขณะที่โหนด Eth1 หรือบีคอนเชนของคุณกำลังซิงค์ และคุณอาจต้องรับโทษจากการก่อวินาศกรรมhttps://launchpad.ethereum.org/
คลิกผ่านขั้นตอนการเตือนต่อไปเมื่อหน้าจอเปลี่ยนไปจนกว่าจะถึงส่วนการสร้างคู่คีย์ เลือกจำนวนตัวตรวจสอบที่คุณต้องการเรียกใช้ เลือกค่าที่ตรงกับจำนวนไฟล์ผู้รับรองที่คุณสร้างขึ้นในขั้นตอนที่ 1

เลื่อนลงมาเพื่อดูว่าคุณเห็นด้วยกับเนื้อหาหรือไม่ จากนั้นคลิก "ดำเนินการต่อ"

เลื่อนลงมาเพื่อดูว่าคุณเห็นด้วยกับเนื้อหาหรือไม่ จากนั้นคลิก "ดำเนินการต่อ"

ระบบจะขอให้คุณอัปโหลดไฟล์ deposit_data-[timestamp].json เอกสารนี้คุณสร้างขึ้นในขั้นตอนที่ 1 เรียกดู/เลือก หรือลากและวางเอกสาร จากนั้นคลิกดำเนินการต่อ
เชื่อมต่อกระเป๋าเงินของคุณ เลือก MetaMask (หรือกระเป๋าเงินอื่นๆ ที่รองรับ) เข้าสู่ระบบ เลือกกระเป๋าเงินที่เก็บ ETH ของคุณ แล้วคลิกดำเนินการต่อ

ยอดคงเหลือ MetaMask ของคุณจะปรากฏขึ้น หากคุณเลือก mainnet และคุณมียอดคงเหลือ ETH เพียงพอ เว็บไซต์จะอนุญาตให้คุณดำเนินการขั้นตอนต่อไป

หากคุณพร้อมที่จะทำการฝากเงิน คลิก"Initiate All Transactions"(เริ่มการทำธุรกรรมทั้งหมด)

เมื่อคุณไปถึงจุดที่คุณสามารถยืนยันการทำธุรกรรมแต่ละครั้ง หน้าต่าง MetaMask (หรือกระเป๋าเงินอื่นๆ) จะปรากฏขึ้นโดยอัตโนมัติ
เมื่อธุรกรรมทั้งหมดเสร็จสมบูรณ์ เงินเดิมพันของคุณก็เสร็จสมบูรณ์!

ตรวจสอบสถานะเงินฝากตรวจสอบความถูกต้องของคุณ
ตรวจสอบสถานะเงินฝากตรวจสอบความถูกต้องของคุณ
ผู้ตรวจสอบความถูกต้องที่เข้าร่วมใหม่จะต้องรอ (สองสามชั่วโมงถึงสองสามวัน) เพื่อเปิดใช้งาน คุณสามารถตรวจสอบสถานะของคีย์ได้โดยทำตามขั้นตอนเหล่านี้:
ผู้ตรวจสอบความถูกต้องที่เข้าร่วมใหม่จะต้องรอ (สองสามชั่วโมงถึงสองสามวัน) เพื่อเปิดใช้งาน คุณสามารถตรวจสอบสถานะของคีย์ได้โดยทำตามขั้นตอนเหล่านี้:
คัดลอกที่อยู่กระเป๋าเงิน MetaMask (หรืออื่น ๆ ) ของคุณbeaconcha.in/
มานี่:

ค้นหาคีย์ของคุณด้วยที่อยู่กระเป๋าเงินของคุณ

คลิกที่รายละเอียดของผู้ตรวจสอบ และหลังจากที่ผู้ตรวจสอบแต่ละคนเปิดใช้งาน คุณจะเห็นเวลาโดยประมาณในคอลัมน์สถานะ
ตอนนี้คุณมี beacon chain ที่ใช้งานได้ โหนดเครื่องมือตรวจสอบความถูกต้อง และ mainnet ฝากไว้ข้างหน้าคุณ หาก Ethereum 2.0 mainnet ใช้งานได้ เมื่อเงินฝากของคุณเปิดใช้งาน คุณจะเริ่มทำงานและรับรายได้
ถึงเวลาแล้วสำหรับเทศกาลน้ำบ้านอ้วน
ชื่อระดับแรก
ขั้นตอนที่ 11: การตรวจสอบ
เนื่องจากปัญหาด้านความปลอดภัยบางอย่างที่ยังไม่ได้แก้ไข การตรวจสอบจะถูกเพิ่มในบทช่วยสอนนี้ในอนาคต
สรุปและข้อเสนอแนะติดตามผล
ขอบคุณทุกท่านที่ให้โอกาสผม หวังว่าบทช่วยสอนนี้จะช่วยคุณได้
ขั้นตอนถัดไป:
- ตรวจสอบการสำรองข้อมูลคีย์และรหัสผ่านทั้งหมดสามครั้ง
- รีบูตเครื่องคอมพิวเตอร์และตรวจสอบให้แน่ใจว่าบริการเริ่มต้นโดยอัตโนมัติ
- เรียนรู้วิธีอัปเกรดซอฟต์แวร์ไคลเอ็นต์และเซิร์ฟเวอร์
- ใช้ htop เพื่อตรวจสอบทรัพยากรของเครื่องคอมพิวเตอร์beaconcha.in- คุ้นเคยซึ่งช่วยให้คุณตรวจสอบตัวตรวจสอบความถูกต้องของคุณ ซึ่งมีการแจ้งเตือน (ส่งทางอีเมล ต้องลงทะเบียน) และมากถึง。
ไม่ลงรอยกัน คอยสังเกตการแจ้งเตือนที่สำคัญDiscord、 Twitter- ได้ที่Reddit,หรือ
แบ่งปันความคิดเห็นของคุณเกี่ยวกับบทช่วยสอนนี้Ethstaker- มีอยู่
ช่วยผู้อื่นตั้งค่าความขัดแย้งfriend link- ใช้
- การสนับสนุน: somer.eth
ชื่อระดับแรก
อ่านเพิ่มเติม
ขอแนะนำอย่างยิ่งให้คุณรับข้อมูลจากแหล่งต่างๆ มากที่สุดเท่าที่จะเป็นไปได้ และมีแหล่งข้อมูลอื่นๆ อีกมากมายที่สามารถช่วยให้คุณคุ้นเคยกับการเดิมพัน Eth2
หากผู้เขียนยังไม่ได้ทดสอบหรือยืนยันแหล่งที่มาเหล่านี้ คุณต้องรับความเสี่ยงจากการใช้แหล่งข้อมูลเหล่านั้นเองPrysm | Lighthouse | Teku | Nimbus
- - เอกสารอย่างเป็นทางการจากทีมลูกค้า
- สภาพแวดล้อมนักเทียบท่าที่ไม่เป็นทางการสำหรับลูกค้า Ethereum 2.0
- วิธีการตั้งค่าระบบ Eth2 Mainnet Validator บน Ubuntu
- คู่มือ | วิธีตั้งค่าตัวตรวจสอบบน ETH2 mainnet
- คู่มือ | แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัยสำหรับ ETH2 Validator Beacon Chain Nodes
- บริการโทรเลขให้คำมั่นสัญญาโดย Ethereum 2.0 https://9elements.com/blog/ethereum-2-0-2/)
ชื่อระดับแรก
หากคุณต้องการอัปเดต Geth เป็นเวอร์ชันล่าสุด ให้ทำตามขั้นตอนเหล่านี้:
$ sudo systemctl stop teku$ sudo systemctl stop geth
$ sudo apt update && sudo apt upgrade
$ sudo systemctl start geth
$ sudo systemctl status geth # <-- Check for errors
$ sudo journalctl -fu geth # <-- Monitor
$ sudo systemctl start teku
$ sudo systemctl status teku # <-- Check for errors
$ sudo journalctl -fu teku.service # <-- Monitor
ชื่อระดับแรก
ภาคผนวก B - การอัปเดต Teku
ก่อนอื่นให้ไปที่ที่นี่ที่นี่"binary distribution"ค้นหาข้อมูลเกี่ยวกับลีนุกซ์รุ่นล่าสุด ในคอลัมน์ดาวน์โหลด ให้คลิก
. จากนั้นคัดลอกลิงค์ดาวน์โหลดไปยังไฟล์ teku-…tar.gz ตรวจสอบว่าคุณคัดลอกลิงก์ที่ถูกต้อง
$ cd ~$ sudo apt install curl
$ curl -Lo teku-20.11.0.tar.gz https://bintray.com/consensys/pegasys-repo/download_file?file_path=teku-20.11.0.tar.gz
เปลี่ยน URL ในส่วนคำแนะนำด้านล่างเป็นลิงค์ดาวน์โหลดสำหรับเวอร์ชันล่าสุด
$ sudo systemctl stop teku
หยุดบริการลูกค้า Teku
$ tar xvf teku-20.11.0.tar.gz$ sudo rm -r /usr/local/bin/teku # <-- Remove the old files
$ sudo cp -a teku-20.11.0 /usr/local/bin/teku
แยกไบนารีออกจากไฟล์เก็บถาวร และคัดลอก /usr/local/bin ไปยังไดเร็กทอรี แก้ไขชื่อ URL หากจำเป็น
$ sudo systemctl start teku$ sudo systemctl status teku # <-- Check for errors
$ sudo journalctl -fu teku.service # <-- Monitor
ทำความสะอาดเอกสารที่เสนอ แก้ไขชื่อเอกสารหากจำเป็น
$ cd ~$ sudo rm teku-20.11.0.tar.gz
$ sudo rm -r teku-20.11.0
ชื่อระดับแรก
ภาคผนวก C - การขยายโลจิคัลวอลุ่ม
Fatal: Failed to register the Ethereum service: write /var/lib/goethereum/geth/chaindata/383234.ldb: no space left on device
หลายครั้งที่อูบุนตูจัดเตรียม SSD ขนาดใหญ่กว่า 200GB ไว้ล่วงหน้าเท่านั้น ทำให้ผู้ใช้พื้นที่เก็บข้อมูลเต็มเมื่อซิงค์โหนด Eth1 ข้อความแสดงข้อผิดพลาดคล้ายกับ:LVMเพื่อแก้ปัญหานี้ สมมติว่าคุณมีโซลิดสเตตไดรฟ์ขนาดใหญ่กว่า 200GB คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อ
$ sudo lvdisplay # <-- Check your logical volume size$ sudo lvm
> lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
> exit
$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
$ df -h # <-- Check results
(การจัดการโลจิคัลวอลุ่ม) ในการขยายความจุ:
การดำเนินการนี้จะปรับขนาดฮาร์ดไดรฟ์ของคุณให้เป็นพื้นที่ว่างสูงสุดEthStakerขอความช่วยเหลือเกี่ยวกับ Discord
ชื่อระดับแรก
บทความนี้ (บทช่วยสอน) มีวัตถุประสงค์เพื่อให้ข้อมูลเท่านั้น และไม่ถือเป็นคำแนะนำจากผู้เชี่ยวชาญ ผู้เขียนไม่รับประกันความถูกต้อง คุณภาพ ความสมบูรณ์ ทันเวลา และความพร้อมของข้อมูลใดๆ ในบทความ ข้อมูลทั้งหมดในที่นี้มีให้ "ตามสภาพ" โดยไม่มีการรับประกันใดๆ และอาจเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบล่วงหน้า ผู้เขียนปฏิเสธการรับประกันทั้งโดยชัดแจ้ง โดยนัย และตามกฎหมายทุกประเภท รวมถึงการรับประกันความถูกต้อง ทันเวลา ความสมบูรณ์ หรือความเหมาะสมของเนื้อหาของบทความเพื่อวัตถุประสงค์ใดๆ ผู้เขียนไม่ต้องรับผิดต่อความเสียหายทั้งทางตรง ทางอ้อม โดยบังเอิญ ผลสืบเนื่อง หรือความเสียหายอื่น ๆ ที่เกิดขึ้นจากการใช้เอกสารนี้หรือตามข้อมูลที่นำเสนอในที่นี้ ซึ่งรวมถึงการบาดเจ็บส่วนบุคคล การหยุดชะงักทางธุรกิจ การสูญเสียการใช้งาน การสูญเสียข้อมูล การสูญเสียผลกำไร หรือการสูญเสียทางการเงินอื่น ๆ ไม่ว่าจะในสัญญา ความประมาทเลินเล่อ หรือการใช้งานในทางที่ผิดอื่น ๆ แม้ว่าผู้เขียนจะได้รับคำแนะนำถึงความเป็นไปได้ก็ตาม
บัญชีอย่างเป็นทางการ: สถานีจีน ETH
บัญชีอย่างเป็นทางการ: สถานีจีน ETH


