คู่มือฉบับย่อเกี่ยวกับวิธีเปิดใช้โหนด Chainlink
Oracles เป็นฟีดข้อมูลที่นำข้อมูลจากแหล่งข้อมูลนอกบล็อกเชน (ออฟเชน) และวางไว้บนบล็อกเชน (ออนเชน) สำหรับสัญญาอัจฉริยะที่จะใช้ สิ่งนี้จำเป็นเนื่องจากสัญญาอัจฉริยะที่ทำงานบน Ethereum ไม่สามารถเข้าถึงข้อมูลที่เก็บไว้ภายนอกเครือข่ายบล็อกเชนได้
เอาล่ะ มีออราเคิลอะไรบ้าง?
Oracles สามารถรวมศูนย์และกระจายอำนาจได้ ออราเคิลแบบรวมศูนย์ถูกควบคุมโดยบุคคลคนเดียว และส่วนใหญ่มักจะอยู่บนเซิร์ฟเวอร์เครื่องเดียว ออราเคิลแบบกระจายอำนาจประกอบด้วยเซิร์ฟเวอร์หลายเครื่องที่ควบคุมโดยองค์กรต่างๆ ซึ่งจะทำให้การตัดสินใจโดยทั่วไปของออราเคิลขึ้นอยู่กับฉันทามติ
เครือข่าย oracle ที่ได้รับความนิยมมากที่สุดคือChainlink ฉันจะบอกวิธีการปรับใช้ oracle ของคุณ เริ่มต้นด้วยการติดตั้งโหนดในบทความนี้
เครือข่ายออราเคิลแบบกระจายศูนย์ของ Chainlink ให้อินพุต เอาต์พุต และการคำนวณที่ป้องกันการปลอมแปลงเพื่อรองรับสัญญาอัจฉริยะขั้นสูงบนบล็อกเชนใดๆ
หากต้องการเรียกใช้โหนด คุณสามารถใช้โหนดนั้นบนคอมพิวเตอร์ของคุณสำหรับการทดสอบในเครื่องหรือเรียกใช้เวอร์ชันที่ใช้งานจริงบนเซิร์ฟเวอร์คลาวด์ ในคำแนะนำนี้ ฉันจะพิจารณาตัวเลือกในการเรียกใช้โหนดบน VPS
ฉันสร้างบนDigitalOcean droplet และ Database Cluster สำหรับ PostgreSQL
สำหรับโหนด 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
มาสร้างไฟล์สภาพแวดล้อมและระบุตัวแปรที่จำเป็นทั้งหมด:
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/
ป้อนอีเมลและรหัสผ่านของผู้ให้บริการที่ระบุไว้ข้างต้น
เยี่ยมมาก ตั้งค่าทุกอย่างเรียบร้อยแล้ว!
ตอนนี้คุณสามารถสร้าง oracles และงานสำหรับพวกเขาได้
ในบทความถัดไปฉันได้สร้างคู่มือสำหรับการปรับใช้ oracle และเชื่อมต่อกับโหนด
สำหรับการตั้งค่าเฉพาะเจาะจงมากขึ้นด้วยการเข้าถึงอินเทอร์เฟซผู้ปฏิบัติงานอย่างปลอดภัยและประสิทธิภาพของงาน Oracle ฉันขอแนะนำให้อ่านลิงก์ต่อไปนี้: