প্রকল্প সম্পর্কে

Sierpe হলো একটি সেলফ-হোস্টেড সার্ভার যা ব্যবহারকারীর রেজিস্টার করা কন্ট্রাক্টগুলোর জন্য Stellar নেটওয়ার্ক পর্যবেক্ষণ করে এবং অপারেটরের নিজস্ব Postgres ডাটাবেসে সেগুলোর সম্পূর্ণ ইতিহাস সংরক্ষণ করে, যা একটি REST API এবং একটি এমবেডেড ম্যানেজমেন্ট UI-এর মাধ্যমে প্রকাশ করা হয়। প্রজেক্টটি নিজেকে v1.5.2 হিসেবে চিহ্নিত করেছে, যার ডিজাইন docs/DESIGN.md-এ স্থিতিশীল হিসেবে বর্ণিত এবং এতে বলা হয়েছে যে ইভেন্ট, কন্ট্রাক্ট স্টেট, টোকেন ট্রান্সফার, ট্রাস্টলাইন এবং টোকেন মুভমেন্টের ফিচারগুলো সম্পূর্ণ এবং টেস্টনেটে চলছে। এটি যা ইনডেক্স করে - রেজিস্টার করা কন্ট্রাক্ট দ্বারা নির্গত ইভেন্ট, যা প্রতিটি কন্ট্রাক্টের অন-চেইন স্পেক থেকে আবিষ্কৃত হয় এবং চাঙ্ক আকারে ব্যাকফিল করা হয়, তারপর চেইন টিপ-এ অনুসরণ করা হয়। - কন্ট্রাক্ট স্টেট: স্টোরেজ এন্ট্রির পরিবর্তনের ইতিহাস এবং একটি বর্তমান স্ন্যাপশট। - ডিকোড করা টোকেন ট্রান্সফার (SEP-41 ডিকোডিং, CAP-67 muxed) এবং SAC অ্যাসেটের ক্লাসিক ট্রাস্টলাইন। - কোনো কন্ট্রাক্টের ভেতরে বা বাইরে টোকেন মুভমেন্ট, তা যে কন্ট্রাক্ট থেকে নির্গত হোক না কেন, সাথে প্রতি-ধরণ কভারেজ রিপোর্টিং। - RPC রিটেনশন উইন্ডোর নিচের ইতিহাস: Stellar RPC-গুলো মোটামুটি সাত দিনের ইভেন্ট রাখে, তাই Sierpe উৎস অনুমতি দিলে জেনেসিস থেকে ব্যাকফিল করে এবং যেসব রেঞ্জের জন্য কোনো RPC পরিষেবা দেয় না সেগুলোর জন্য পাবলিক History Archives রিপ্লে করার জন্য ডিজাইন করা হয়েছে; আর্কাইভ রিপ্লে `-full` ইমেজের মাধ্যমে প্রদান করা হয়। এটি যেভাবে ব্যবহৃত হয় ডেপ্লয়মেন্ট হলো একটি খালি Postgres-এর পাশে একটি কন্টেইনার। কন্ট্রাক্টগুলো রানটাইমে কোড হিসেবে নয়, বরং ডাটা হিসেবে রেজিস্টার করা হয়, যেমন POST /v1/contracts-এর মাধ্যমে একটি কন্ট্রাক্ট আইডি এবং `from: genesis` সহ একটি অথেন্টিকেটেড কলের মাধ্যমে; এরপর সার্ভারটি কন্ট্রাক্টটিকে শ্রেণীবদ্ধ করে, এর ইতিহাস ব্যাকফিল করে এবং এটি অনুসরণ করতে থাকে। ব্যবহারকারীরা getEvents-v2-স্টাইল ফিল্টার (যেমন topic0 এবং কার্সার), একটি কি-এর জন্য বর্তমান স্টোরেজ স্ন্যাপশট এবং যেকোনো স্টোরেজ এন্ট্রির ইতিহাস কুয়েরি করতে পারেন। ডকুমেন্টেশনে Railway, Docker Compose এবং জেনেরিক কন্টেইনার ডেপ্লয়মেন্টের কথা উল্লেখ আছে এবং README-তে বলা হয়েছে যে একই বাইনারি Railway, AWS, GCP বা একটি ছোট VPS-এ চলে, যার লক্ষ্যমাত্রা একটি সাধারণ প্রজেক্টের জন্য প্রতি মাসে ১০ ডলারের কম খরচ। এর জন্য Docker বা Go 1.25+ প্রয়োজন, এবং কনফিগারেশন DATABASE_URL, NETWORK এবং ADMIN_TOKEN-এর মাধ্যমে করা হয়। API আচরণ এবং সততার নিশ্চয়তা README-তে জোর দেওয়া হয়েছে যে কভারেজ এবং গ্যাপগুলো প্রথম সারির ডাটা: প্রতিটি রেসপন্স `coverage` এবং `scanStatus` (HAS_MORE, WAITING_FOR_LEDGERS, OLDEST_REACHED বা COMPLETE) ঘোষণা করে, তাই একটি খালি পেজ নির্দেশ করে যে হয় কিছুই নেই অথবা ইনডেক্সিং সেই রেঞ্জে পৌঁছায়নি। পেজিনেশন অপেক কার্সারের ওপর নির্ভর করে যা পুরো কুয়েরিকে এনকোড করে, যা ড্রিফট প্রতিরোধ করার জন্য তৈরি। সম্পূর্ণ API সারফেস docs/openapi.yaml-এ নির্দিষ্ট করা হয়েছে এবং মেট্রিক্স docs/METRICS.md-এ ডকুমেন্ট করা হয়েছে; অ্যাপ্লায়েন্স ডেলিভারেবলসের মধ্যে একটি Grafana ড্যাশবোর্ড এবং স্ট্যাটাস পেজ তালিকাভুক্ত করা হয়েছে। ইন্টারফেস এবং অ্যাক্সেস কন্ট্রোল একটি ম্যানেজমেন্ট UI `/`-এ এমবেডেড করা আছে এবং একটি কন্ট্রাক্ট লিস্টিং এন্ডপয়েন্ট রয়েছে। পাবলিক ডোমেইনে ডেপ্লয়মেন্টের জন্য একটি ঐচ্ছিক হোল-সারফেস Basic Auth মোড অফার করা হয়েছে। স্পষ্ট নন-গোলস README-তে বলা হয়েছে যে প্রজেক্টটি কোনো হোস্ট করা পরিষেবা নয়, কোনো অ্যানালিটিক্স প্ল্যাটফর্ম নয় (ব্যবহারকারীর ডাটার ওপর কোনো অ্যাগ্রিগেশন বা ড্যাশবোর্ড নেই), কোনো চেইন-ওয়াইড ইনডেক্সার নয় (শুধুমাত্র রেজিস্টার করা কন্ট্রাক্ট ইনডেক্স করা হয়), এবং কোনো ফ্রেমওয়ার্ক নয় — এটি ব্যবহার করার জন্য কোড লেখার প্রয়োজন হলে তাকে একটি বাগ হিসেবে বিবেচনা করা হবে। রোডম্যাপ সম্পন্ন মাইলস্টোনগুলোর মধ্যে রয়েছে স্কেলিটন (কনফিগ, হেলথ, মাইগ্রেশন, কন্টিনিউটি চেক সহ কার্সার লুপ), এন্ড-টু-এন্ড ইভেন্ট, কন্ট্রাক্ট স্টেট, একটি অ্যাপ্লায়েন্স রিলিজ v1.0.0, টোকেন ট্রান্সফার এবং SAC ট্রাস্টলাইন (v1.1), আর্কাইভ রিপ্লে (v1.2), এমবেডেড UI এবং কন্ট্রাক্ট লিস্টিং (v1.3), ঐচ্ছিক Basic Auth (v1.4) এবং প্রতি-ধরণ কভারেজ সহ টোকেন মুভমেন্ট (v1.5)। পরিকল্পিত কাজের মধ্যে v1.6-এ কন্ট্রাক্ট-ক্লাস ডিসকভারি অন্তর্ভুক্ত রয়েছে, যেখানে একটি wasm হ্যাশ রেজিস্টার করলে তা থেকে ডেপ্লয় করা প্রতিটি কন্ট্রাক্ট ইনডেক্স করবে, এবং v2-এ সাইনড ওয়েবহুক এবং ব্রোকার সিঙ্ক সহ পুশ ডেলিভারি থাকবে, সাথে একটি MCP সার্ভার নিয়ে অনুসন্ধান চলছে। প্রজেক্ট ম্যাটেরিয়াল ডকুমেন্টেশনের মধ্যে রয়েছে docs/DESIGN.md (আর্কিটেকচার, ডাটা মডেল, API সারফেস, কনফিগারেশন, মাইলস্টোন), docs/DEPLOY.md, docs/KNOWLEDGE.md (প্রোডাকশন ইনডেক্সার থেকে সংগৃহীত ২৯টি নীতি, যার প্রতিটির উৎস উল্লেখ আছে), CONTRIBUTING.md এবং SECURITY.md। প্রজেক্টটি Apache-2.0 লাইসেন্সের অধীনে এবং ইস্যু ও ফিডব্যাক আহ্বান করে।