ฐานข้อมูล Universal NFT Vector เป็นความคิดริเริ่มในการจัดเก็บเวอร์ชันเวกเตอร์ของ Ethereum NFT ที่ใช้รูปภาพทุกภาพ (ERC-721) โครงการนี้ใช้ประโยชน์จากเทคโนโลยีที่หลากหลายเพื่อให้เป็นไปได้รวมถึงการเล่นแร่แปรธาตุ API โปรโตคอลกราฟและ Pinecone โครงสร้างพื้นฐานซอฟต์แวร์ที่สมบูรณ์ของเราสามารถดูได้ด้านล่าง:
ด้านล่างเราได้ระบุชิ้นส่วน/ระบบที่สำคัญซึ่งเป็นส่วนหนึ่งของโครงการนี้และกรณีการใช้งานในระบบโดยรวมของเรา
| ระบบ | ใช้เคส |
|---|---|
| Dashboard Analytics | นี่คือ FrontPage ของแอปพลิเคชันฝั่งไคลเอ็นต์ของเราส่วนใหญ่ใช้เพื่อแสดงสถิติและข้อมูลอื่น ๆ เกี่ยวกับข้อมูลในฐานข้อมูลและคิวงานของเรา |
| หน้าค้นหา | หน้าการค้นหาเป็นหน้าแบบโต้ตอบสำหรับผู้ใช้ในการสอบถามฐานข้อมูลและค้นหา NFT ที่คล้ายกันในขณะเดียวกันก็เห็นภาพ NFT ของพวกเขาเมื่อเทียบกับ NFT ที่คล้ายกันในกราฟสองมิติ |
| การรวมโปรโตคอลกราฟ | โปรโตคอลกราฟถูกใช้เป็นเลเยอร์การสืบค้นเพื่อรับข้อมูลการรวบรวม NFT ทั้งหมดบน blockchain |
| การรวม API การเล่นแร่แปรธาตุ | Alchemy API ใช้เพื่อรับข้อมูล NFT แต่ละรายการสำหรับแต่ละคอลเลกชัน NFT ซึ่งจะถูกเก็บไว้ในระบบของเรา |
| เซิร์ฟเวอร์แบ็กเอนด์ | เซิร์ฟเวอร์แบ็กเอนด์ของเราช่วยให้เราสามารถโต้ตอบกับข้อมูลและรับข้อมูลจากฐานข้อมูลของเราเพื่อแสดงบนแผงควบคุมการวิเคราะห์ของเรา |
| Regnety-080 การรวมการฝังภาพ | ภาพฝังตัวทำหน้าที่เป็นวิธีการสร้างมาตรฐานการเป็นตัวแทนของภาพและจัดเก็บไว้ในฐานข้อมูลเวกเตอร์ |
| ค้นหา API | API การค้นหาช่วยให้ผู้ใช้สามารถสอบถามฐานข้อมูลเวกเตอร์สำหรับ NFT ที่คล้ายกันตามภาพต้นทาง มันใช้ระยะทางโคไซน์เป็นตัวชี้วัดในการค้นหา NFT ที่ใกล้เคียงที่สุด |
| API การสร้างภาพข้อมูล | API การสร้างภาพข้อมูลช่วยให้ผู้ใช้สามารถมองเห็นภาพต้นฉบับของพวกเขาเมื่อเทียบกับ NFT ที่คล้ายกัน - ใช้การสลายตัวของค่าเอกพจน์ที่ถูกตัดทอนเพื่อทำสิ่งนี้ |
| เซิร์ฟเวอร์งานคิวงาน | เซิร์ฟเวอร์งานคิวงานเปิดใช้งานความสามารถในการปรับขนาดในแนวนอนสำหรับระบบเพราะอนุญาตให้ NFT หลายแสนคนนั่งอยู่ในคิวเมื่อพวกเขาได้รับการประมวลผลในที่สุด |
เรายินดีต้อนรับคำขอดึงไปยังที่เก็บนี้เพื่อแก้ไขและปรับปรุงฐานข้อมูลของเราเพิ่มเติม
เราได้จัดเตรียมสคริปต์การตั้งค่า ( setup.sh ) เพื่อตั้งค่าระบบในพื้นที่ - สิ่งนี้ได้รับการทดสอบด้วย WSL และ Ubuntu เท่านั้นดังนั้นให้ใช้ความเสี่ยงของคุณเอง ก่อนที่จะเรียกใช้สคริปต์การตั้งค่าโปรดตรวจสอบให้แน่ใจว่าคุณติดตั้งดังต่อไปนี้:
คุณจะต้องเพิ่มไฟล์ Enviornment สำหรับโครงการนี้ ไดเรกทอรีที่มีไฟล์. ENV:
python_server/src/client/celery_queue/benchmarks/ เราได้จัดเตรียม .env.example สำหรับไฟล์. ENV แต่ละไฟล์ นอกจากนี้เรายังให้ doppler.example ตัวอย่างเพื่อดูว่าตัวแปรสภาพแวดล้อมอื่น ๆ ที่เรามีเพราะเราใช้ Doppler เป็นซอฟต์แวร์การจัดการความลับแบบครบวงจรของเรา
จากนั้นเพื่อตั้งค่าโครงการนี้:
sudo chmod +x ./setup.sh
sudo ./setup.sh
หรือในการตั้งค่าโครงการนี้ด้วยตนเอง:
client และ NPM ติดตั้งการอ้างอิงทั้งหมด: cd client
npm install
python_server/src และสร้างโฟลเดอร์สภาพแวดล้อมเสมือนจริงของ Python จากนั้นติดตั้งการอ้างอิงทั้งหมด: cd python_server/src
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
celery_queue/ โฟลเดอร์และสร้างโฟลเดอร์ Environment Python Virtual Environment จากนั้นติดตั้งการอ้างอิงทั้งหมด: cd celery_queue
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt
sudo chmod +x ./run.sh
sudo ./run.sh
npm start --prefix client/
cd python_server/src
source venv/bin/activate
python app.py
cd celery_queue
source venv/bin/activate
celery -A tasks worker