RWANFTFI პლატფორმა აგებულია მძლავრი, მოდულური და უსაფრთხო სმარტ კონტრაქტის არქიტექტურაზე, რომელიც მართავს ყველა ურთიერთქმედებას, განაწილებას და ტოკენის მექანიკას ცენტრალური კონტროლის გარეშე.Documentation Index
Fetch the complete documentation index at: https://whitepaper.rwanftfi.com/llms.txt
Use this file to discover all available pages before exploring further.
Diamond Pattern (EIP-2535)
RWANFTFI სისტემის ბირთვი დანერგილია Diamond Pattern-ის გამოყენებით, რომელიც ფორმალურად განსაზღვრულია როგორც EIP-2535 Ethereum Improvement Proposals-ის რეესტრში. ეს არქიტექტურული არჩევანი პროტოკოლს საშუალებას აძლევს გვერდი აუაროს სმარტ კონტრაქტის სტანდარტულ ზომის ლიმიტს (24KB) ფუნქციონალის რამდენიმე დამოუკიდებელ მოდულზე გაყოფით, რომლებსაც ეწოდებათ „Facets” (სმარტ კონტრაქტის მოდულები, რომლებზეც წვდომა ხდება ერთი proxy კონტრაქტის მეშვეობით).რა არის 7 ძირითადი Facet?
AdminFacet
სისტემის პარამეტრები, როლები, ბიზნესის გაყიდვები და სპეციალური NFT მინტინგი.
MarketingFacet
მომხმარებლის რეგისტრაცია, NFT შესყიდვები და მარკეტინგული ჯილდოების განაწილება.
FarmingFacet
NFTM მაინინგისა და DA ფარმინგის ციკლის მართვა.
PaymentFacet
დეპოზიტები, გატანები, ვაუჩერების შექმნა და აკუმულაციური გადარიცხვები.
TreeFacet
22-დონიანი ბინარული ხის ლოგიკა და მომხმარებლის განთავსების ალგორითმები.
ResolverFacet
ვადაგასული DA stack-ის დამუშავება, ვაუჩერების წვა და გაყინული ანგარიშების გადაწყვეტა.
ViewFacet
წაკითხვადი მოთხოვნები მომხმარებლის მონაცემებისთვის, ბალანსებისთვის და ხის სტრუქტურებისთვის.
როგორ არის დანაწილებული NFT კონტრაქტის ტოკენის ID-ები?
პროტოკოლი იყენებს სამ განსხვავებულ NFT კონტრაქტს (Regular, Gift, Ambassador). იმისათვის, რომ თავიდან აიცილოს იდენტიფიკატორების შეჯახება ჯაჭვურიregisteredTokens მეპინგში, რომელიც აღრიცხავს ყველა მინტირებულ NFT-ს სისტემაში, Regular NFT-ები და Gift NFT-ები მინტირდებიან გამიჯნულ tokenId სივრცეებში პარიტეტის მიხედვით დანაწილებული:
- Regular NFT — კენტი ტოკენის ID-ები (
1, 3, 5, 7, …). - Gift NFT — ლუწი ტოკენის ID-ები (
2, 4, 6, 8, …).
განახლებადობის მატრიცა
- Diamond Contract (EIP-2535): განახლებადი Facet-ის მოჭრის გზით — საშუალებას აძლევს დაამატოთ, ჩაანაცვლოთ ან ამოიღოთ ცალკეული მოდულები მთელი სისტემის ხელახალი დეპლოის გარეშე.
- TokenReserve (DA): განახლებადი Transparent Proxy-ით — ლოგიკის განახლებები შესაძლებელია კონტრაქტის მისამართის შეცვლის გარეშე.
- NFT-ები (Regular, Gift, Ambassador), GovToken, AdminContract: არაგანახლებადი — უზრუნველყოფს ძირითადი აქტივებისა და მართვის წესების უცვლელობას.
როგორ იმართება სმარტ კონტრაქტის როლები?
სისტემა იყენებს იერარქიულ როლების სტრუქტურას (AccessControlEnumerable) ნებართვების უსაფრთხოდ მართვისთვის:ADMIN_ROLE: შეუძლია სხვა როლების მინიჭება/გაუქმება და სისტემის კრიტიკული პარამეტრების შეცვლა.SERVICE_ROLE: სრულდება backend სკრიპტების მიერ ავტომატური ამოცანებისთვის (მაგ., ვადაგასული stack-ების გადაწყვეტა, კროს-ჯაჭვური დეპოზიტების დამუშავება).SIGNER_ROLE: გამოიყენება კრიპტოგრაფიული ხელმოწერის გადამოწმებისთვის კონკრეტული მოქმედებების ავტორიზაციისთვის, როგორიცაა ვაუჩერების გადაცემები.MINTER_ROLE: ავტორიზებულია კონკრეტული ტოკენების ან NFT-ების მინტინგისთვის.
ბალანსის სქემა და გადახდის პრიორიტეტი
სახსრების კომპლექსური ნაკადის სამართავად RWANFTFI იყენებს ბალანსების მრავალდონიან სქემას სმარტ კონტრაქტის ფარგლებში. მომხმარებლის ბალანსები:-
ჩვეულებრივი ბალანსი (
balance): ძირითადი საფულე ხელმისაწვდომი USDT-სთვის. აქ არსებული სახსრების გატანა შესაძლებელია ნებისმიერ დროს, NFT-ების შესაძენად, ან ვაუჩერების გენერირებისთვის გამოსაყენებლად. -
აკუმულაციური ბალანსი (
accumulativeBalance): სავალდებულო დანაზოგის ანგარიში, სადაც ყოველი მარკეტინგული ჯილდოს 20% ერიცხება დაუყოვნებლივ დარიცხვისას.- გამოყენება: შეიძლება გამოყენებულ იქნას მხოლოდ იმავე დონის NFT-ის შესაძენად ან უფრო მაღალი დონის NFT-ის შესაძენად.
- საფასურები: ამ ბალანსის გამოყენება NFT შესყიდვებისთვის იწვევს 20% საფასურს, რომელიც მიემართება DA-ს ლიკვიდურობის პულში. სხვა მომხმარებლისთვის გადაცემა ასევე იწვევს 20% საფასურს, რომელიც მიემართება DA-ს ლიკვიდურობის პულში. აკუმულაციური ბალანსის ყოველი მოძრაობა წარმოქმნის შემოდინებას პულში და ქმნის ბაზას ახალი DA-სთვის.
- 120-დღიანი გადანაწილება: თუ მომხმარებელი არ იყენებს თავის აკუმულაციურ ბალანსს 120 დღის განმავლობაში, გამოუყენებელი ბალანსი ხდება გადანაწილების უფლებამოსილი. გაყოფა დამოკიდებულია მომხმარებლის NFT-ის ტიპზე:
- Regular NFT-ის მფლობელები: 70% მიემართება DA-ს ლიკვიდურობის პულში ახალი DA ტოკენების მინტინგისთვის; 30% გადაეცემა მომხმარებლის პირდაპირ ზედა სპონსორს.
- Gift NFT-ის მფლობელები: 80% მიემართება DA-ს ლიკვიდურობის პულში; 20% გადაეცემა პირდაპირ ზედა სპონსორს (მართვადი ცალკე
accumulativeClaimDistributeGiftპარამეტრით). - კასკადის წესი (ორივე ტიპისთვის): თუ ზედა სპონსორის შემოსავლის ლიმიტი ამოწურულია (ნულის ტოლია), სპონსორის წილი გადადის უფრო ზევით სტრუქტურის შემდეგ უფლებამოსილ მონაწილესთან. თუ ჯაჭვში არცერთ მონაწილეს არ აქვს აქტიური შემოსავლის ლიმიტი, მთლიანი თანხა მიემართება DA-ს ლიკვიდურობის პულში.
120 დღე = გარანტირებული მინიმალური ფანჯარა, არა ავტომატური ვადის გასვლა:accumulativeDecayTimeპარამეტრი მოწმდება მხოლოდwithdrawAccumulative()-ის შიგნით — ადმინისტრატორის/სერვისის მიერ ჩართული გადანაწილების გზით. ის არ ფასდება ხარჯვის ან გადაცემის გზებზე. პრაქტიკაში ეს ნიშნავს:- დარიცხვიდან პირველი 120 დღის განმავლობაში აკუმულაციური ბალანსს აქვს გარანტირებული მთლიანობა — მისი გადანაწილება არავის შეუძლია.
- 120-ე დღის შემდეგ ბალანსი ხდება უფლებამოსილი გადანაწილებისთვის, მაგრამ გადანაწილება ავტომატურად არ ირთვება ტაიმერის გასვლისას. ის ხდება მხოლოდ მაშინ, როცა
withdrawAccumulative()გამოიძახება იმ კონკრეტული მომხმარებლისთვის SERVICE_ROLE ან ADMIN_ROLE-ის მიერ. - სანამ ეს ზარი მოდის, „ვადაგასული” აკუმულაციური ბალანსი რჩება დახარჯვადი NFT შესყიდვებსა და განახლებებზე და გადაცემადი სხვა მომხმარებლებზე სტანდარტული წესებითა და საფასურებით.
-
ლიმიტი (
limit): წარმოადგენს მაქსიმალურ დარჩენილ შემოსავალს, რომელიც NFT-ს შეუძლია წარმოქმნას.
სისტემური ბალანსები
მომხმარებლის ბალანსების გარდა, სმარტ კონტრაქტი ინარჩუნებს სამ შიდა სისტემურ ბალანსს:- Dev Balance (
devBalance): აკუმულირებს პლატფორმის საფასურებსა და საკომისიოებს ოპერაციული დაფინანსებისთვის. - Token Reserve Balance (
tokenReserveBalance): USDT ლიკვიდურობის პული, რომელიც 100%-ით უზრუნველყოფს DA ტოკენს. ეკოსისტემაში არსებული შემოსავლის ყოველი წყარო შემოედინება ამ პულში. - Price Impact Balance (
priceImpactBalance): სპეციალური რეზერვი, რომელიც გამოიყენება DA ტოკენის ფასის სტაბილურობის სამართავად კონკრეტული ეკოსისტემური ღონისძიებების დროს.
გადახდის პრიორიტეტი
შესყიდვის განხორციელებისას, სმარტ კონტრაქტი იხდის სახსრებს ამ თანმიმდევრობით:ვაუჩერები (ხელით)
თუ მომხმარებელი ცხადად იყენებს ვაუჩერს გადახდისას, მისი ღირებულება იხარჯება პირველი. ვაუჩერები ავტომატურად არ მოქმედებენ.
აკუმულაციური ბალანსი
თუ მომხმარებელი აირჩევს აკუმულაციური ბალანსის გამოყენებას, ის გამოიყენება 100%-იანი დაფარვით (როცა საკმარისია) ან კომბინირდება ჩვეულებრივ ბალანსთან. 20% საფასური მიემართება DA-ს ლიკვიდურობის პულში.
ყველა ტრანზაქცია Binance Smart Chain-ზე (BSC) მოითხოვს სტანდარტულ ქსელის გაზის საფასურს, რომელიც იხდება BNB-ში. მომხმარებლებმა უნდა ჰქონდეთ მცირე ოდენობის BNB თავიანთ საფულეში ნებისმიერი ჯაჭვური ოპერაციის (შესყიდვები, გატანები, გადარიცხვები) შესასრულებლად. ეს განცალკევებულია ეკოსისტემაში გამოყენებული USDT (Tether) ბალანსებისგან. კონტრაქტის დეპლოი და ბალანსები საჯაროდ გადასამოწმებელია BscScan-ზე.

