คู่มือฉบับย่อเกี่ยวกับวิธีเปิดใช้โหนด Chainlink

Nov 28 2022
ออราเคิลในบล็อคเชนคืออะไร?
Oracles เป็นฟีดข้อมูลที่นำข้อมูลจากแหล่งข้อมูลนอกบล็อกเชน (ออฟเชน) และวางไว้บนบล็อกเชน (ออนเชน) สำหรับสัญญาอัจฉริยะที่จะใช้ สิ่งนี้จำเป็นเนื่องจากสัญญาอัจฉริยะที่ทำงานบน Ethereum ไม่สามารถเข้าถึงข้อมูลที่เก็บไว้ภายนอกเครือข่ายบล็อกเชนได้
ภาพต้นฉบับจาก Shubham Dhage

Oracles เป็นฟีดข้อมูลที่นำข้อมูลจากแหล่งข้อมูลนอกบล็อกเชน (ออฟเชน) และวางไว้บนบล็อกเชน (ออนเชน) สำหรับสัญญาอัจฉริยะที่จะใช้ สิ่งนี้จำเป็นเนื่องจากสัญญาอัจฉริยะที่ทำงานบน Ethereum ไม่สามารถเข้าถึงข้อมูลที่เก็บไว้ภายนอกเครือข่ายบล็อกเชนได้

เอาล่ะ มีออราเคิลอะไรบ้าง?

Oracles สามารถรวมศูนย์และกระจายอำนาจได้ ออราเคิลแบบรวมศูนย์ถูกควบคุมโดยบุคคลคนเดียว และส่วนใหญ่มักจะอยู่บนเซิร์ฟเวอร์เครื่องเดียว ออราเคิลแบบกระจายอำนาจประกอบด้วยเซิร์ฟเวอร์หลายเครื่องที่ควบคุมโดยองค์กรต่างๆ ซึ่งจะทำให้การตัดสินใจโดยทั่วไปของออราเคิลขึ้นอยู่กับฉันทามติ

เครือข่าย oracle ที่ได้รับความนิยมมากที่สุดคือChainlink ฉันจะบอกวิธีการปรับใช้ oracle ของคุณ เริ่มต้นด้วยการติดตั้งโหนดในบทความนี้

เครือข่ายออราเคิลแบบกระจายศูนย์ของ Chainlink ให้อินพุต เอาต์พุต และการคำนวณที่ป้องกันการปลอมแปลงเพื่อรองรับสัญญาอัจฉริยะขั้นสูงบนบล็อกเชนใดๆ

หากต้องการเรียกใช้โหนด คุณสามารถใช้โหนดนั้นบนคอมพิวเตอร์ของคุณสำหรับการทดสอบในเครื่องหรือเรียกใช้เวอร์ชันที่ใช้งานจริงบนเซิร์ฟเวอร์คลาวด์ ในคำแนะนำนี้ ฉันจะพิจารณาตัวเลือกในการเรียกใช้โหนดบน VPS

ฉันสร้างบนDigitalOcean droplet และ Database Cluster สำหรับ PostgreSQL

แดชบอร์ด DigitalOcean

สำหรับโหนด Chainlink ขอแนะนำความต้องการของระบบดังต่อไปนี้:

  • ขั้นต่ำ:ในการเริ่มต้นใช้งานโหนด Chainlink คุณจะต้องมีเครื่องที่มีอย่างน้อย 2 คอร์และ RAM 4 GB
  • แนะนำ:ข้อกำหนดสำหรับการรันมาตราส่วนโหนด Chainlink ตามจำนวนงานที่บริการโหนดของคุณปรับขนาดด้วย สำหรับโหนดที่มีมากกว่า 100 งาน คุณจะต้องมีอย่างน้อย 4 คอร์และ RAM 8GB
  • ขั้นต่ำ:อย่างน้อย 2 คอร์, RAM 4GB และพื้นที่เก็บข้อมูล 100 GB
  • แนะนำ:เพื่อรองรับงานมากกว่า 100 งาน เซิร์ฟเวอร์ฐานข้อมูลของคุณจะต้องมีอย่างน้อย 4 คอร์, RAM 16 GB และพื้นที่เก็บข้อมูล 100 GB

curl -sSL https://get.docker.com/ | sh
sudo systemctl start docker
sudo usermod -aG docker $USER
exit
# log in again

mkdir ~/.chainlink

ฉันจะใช้งานโหนดสำหรับ Ethereum Mainnet ดังนั้น ฉันจะระบุพารามิเตอร์ETH_CHAIN_ID= 1 หากต้องการทราบว่า ID ของใครอยู่ในกรณีของคุณ คุณต้องค้นหาจากเว็บไซต์chainlist.org

ตัวอย่างสำหรับ Ethereum Mainnet

มาสร้างไฟล์สภาพแวดล้อมและระบุตัวแปรที่จำเป็นทั้งหมด:

echo "ROOT=/chainlink
LOG_LEVEL=debug
ETH_CHAIN_ID=1
CHAINLINK_TLS_PORT=0
SECURE_COOKIES=false
ALLOW_ORIGINS=*" > ~/.chainlink/.env

นอกจากนี้ เราต้องการไคลเอ็นต์ Ethereum เราสามารถเรียกใช้งานได้ภายในเครื่องหรือใช้บริการของบุคคลที่สามเช่นAlchemy , Infura , QuikNode , Chainstack , Moralis

ฉันชอบใช้ Alchemy เนื่องจากมีค่าธรรมเนียมที่สะดวกและมีขีดจำกัดสูง การตอบสนองที่รวดเร็วของโหนด และแดชบอร์ดที่ให้ข้อมูล

การกำหนดราคาการเล่นแร่แปรธาตุ

ในการทำงานกับ Alchemy คุณต้องสร้างแอปพลิเคชันใหม่โดยเลือกเชนและเครือข่าย

หน้าต่างสร้างแอปพลิเคชันในการเล่นแร่แปรธาตุ

เมื่อสร้างแอปพลิเคชัน การวิเคราะห์จะพร้อมใช้งานในแดชบอร์ด ในการโต้ตอบกับโหนด เราจะต้องส่งออกลิงก์เพื่อเชื่อมต่อผ่าน WebSockets

แดชบอร์ดเล่นแร่แปรธาตุ

ในการตั้งค่าคุณต้องค้นหาลิงก์: wss://<URL>

มาเพิ่มการเชื่อมต่อกับโหนด Ethereum ในการกำหนดค่า Chainlink:

echo "ETH_URL=wss://<URL>" >> ~/.chainlink/.env

หากคุณกำลังทดสอบ คุณสามารถเพิ่ม?sslmode=disableที่ส่วนท้ายของ URL อย่างไรก็ตาม คุณไม่ ควร ทำเช่นนี้กับโหนดที่ใช้งานจริง

เทมเพลตสตริงการเชื่อมต่อ:

postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE

echo "DATABASE_URL=postgresql://$USERNAME:$PASSWORD@$SERVER:$PORT/$DATABASE" >> ~/.chainlink/.env

เวอร์ชันปัจจุบัน ณ เวลาที่เขียนคือ 1.10.0 ดูเวอร์ชั่นล่าสุดได้ที่ลิงค์

หากโหนดเริ่มต้นจากผู้ใช้รูท คุณควรเลือกอิมเมจเวอร์ชันรูทเท่านั้น

หากต้องการเปลี่ยนเวอร์ชัน ให้แทนที่พารามิเตอร์ด้วยเวอร์ชันที่ต้องการ:

smartcontract/chainlink:<เวอร์ชั่น>

ตัวอย่างเช่น ในกรณีของฉัน ฉันจะรันเวอร์ชันรูท ในการทำเช่นนี้ฉันจะใช้คำสั่งต่อไปนี้:

cd ~/.chainlink && docker run -p 6688:6688 -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:1.10.0-root local n

      
                

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

ในการเปิดใช้งานโหนดในภายหลัง เราจำเป็นต้องบันทึกคีย์ สำหรับสิ่งนี้ เราจะหยุดโหนดและดำเนินการต่อไปนี้:

บันทึกอีเมลของผู้ดำเนินการ:

echo "[email protected]" > ~/.chainlink/.api

echo "password" >> ~/.chainlink/.api

echo "my_wallet_password" > ~/.chainlink/.password

cd ~/.chainlink && docker run --restart=always  -p 6688:6688 -d --name chainlink -v ~/.chainlink:/chainlink -it --env-file=.env smartcontract/chainlink:1.10.0-root local n -p /chainlink/.password

เยี่ยม โหนดกำลังทำงานอยู่ ตอนนี้เราต้องการเชื่อมต่อกับโหนดจากอุปกรณ์ภายในเครื่อง ในการทำเช่นนี้ คุณต้องสร้างอุโมงค์ SSH ไปยังเซิร์ฟเวอร์ด้วยโหนด

ssh <USERNAME>@<IP> -L 6688:localhost:6688 -N

ปล่อยให้แท็บเทอร์มินัลเปิดและเปิดและคลิกที่ลิงก์ในเบราว์เซอร์:http://localhost:6688/

ป้อนอีเมลและรหัสผ่านของผู้ให้บริการที่ระบุไว้ข้างต้น

UI การเข้าสู่ระบบของ Chainlink Operator

เยี่ยมมาก ตั้งค่าทุกอย่างเรียบร้อยแล้ว!

UI ของผู้ดำเนินการ Chainlink

ตอนนี้คุณสามารถสร้าง oracles และงานสำหรับพวกเขาได้

ในบทความถัดไปฉันได้สร้างคู่มือสำหรับการปรับใช้ oracle และเชื่อมต่อกับโหนด

สำหรับการตั้งค่าเฉพาะเจาะจงมากขึ้นด้วยการเข้าถึงอินเทอร์เฟซผู้ปฏิบัติงานอย่างปลอดภัยและประสิทธิภาพของงาน Oracle ฉันขอแนะนำให้อ่านลิงก์ต่อไปนี้: