العقود الذكية في صلابة - ج#
قم بتوصيل العقود الذكية باستخدام .NET من خلال واجهات برمجة التطبيقات على الويب.
تثبيت
- تنزيل المشروع واستعادة nugets
- تكوين appsettings.json مع التفاصيل الخاصة بك.
- مشروع الإطلاق.
Docker Run
فتح CMD وفي Docker-corm.yml دليل التشغيل:
- Docker Compens Up -D -> إنشاء وبدء حاوية Docker
- Docker PS -> شاهد جميع الحاويات وتحقق من منفذ
- فتح عنوان URL: http: // localhost: 55757/swagger/index.html (المنفذ المحدد على Command Docker PS)
redis
Docker Run -Name -Redis -P 6379: 6379 -D Redis
للتحقق مما إذا كان Redis يعمل يمكنك اختبار ما يلي:
Docker Exec -إنه My -REDIS SH
#redis-cli
بينغ
المواصفات الفنية
- الهندسة المعمارية النظيفة (طبقة العرض تحتوي على وحدات التحكم الخاصة بي لأنني أستخدم Swagger كواجهة المستخدم)
- مستودع عام.
- وحدة العمل.
- إطار الكيان.
- نمط بوابة API.
- Mediatr CQRS نمط.
إطار الكيان:
دائمًا ما يكون مشروع البنية التحتية المستهدفة من اختيار المشروع الافتراضي في وحدة التحكم في إدارة الحزمة
ADD -Migration "DB تهيئة" -context postgresqldbcontext (سياق اختيارك)
تحديث database -context postgresqldbcontext (سياق اختيارك)
من أجل تجميع عقد ذكي ، أستخدم رمز Visual Studio مع تمديد الصلابة. بعد التجميع ، أستخدم ABI و Bytecode من ملف .json.
لقد قمت بإنشاء وحدات تحكم مختلفة لعقود ذكية مختلفة:
SmartContractController
- DeployanyContract (نشر عقد مع أو بدون معلمات)
- CallContractVariable (اتصل بأي متغير في العقد)
- CallReadFunction (استدعاء وظائف قراءة في العقد)
- CallWriteFunction (وظائف كتابة المكالمات في العقد)
- TrackCryptowHalesforanyToken (Track "Transfer" حدث في أي رمز من اختيارك)
NetworkController
- getBlock
- getAlltransactionofablock
- GetAllContractCreationTransactions
محفظة
- تحقق من التوازن
- أرسل الأثير/الرمز المميز إلى محفظة أخرى
uniswapv2
- Allpairs
- getReserves
- getamountsout
- يعتمد
- SubexacteThortokens
uniswapv3
- getReserves (getPool ، الرموز وتوازن)
- subexacttokensfortokens باستخدام جهاز التوجيه
- getTokendata (باستخدام GraphQL)
- GetMestLiquidPools (باستخدام GraphQL)
- getPooldata (باستخدام GraphQL) getRecentswapSwithInapool باستخدام GraphQL)
عقد اليانصيب الذكي
- نشر
- getRandomNumber
- GetPlayers
- التوابل
- Enterlottery
- Pickwinner
cryptotoken
- نشر رمز ERC20
- التوابل
- النعناع
- يعتمد
- بدل
- تدمير العقد
- تحويل
- زيادة الطبق
- تقليل التحميل
- يحرق
- النقل من
- حرق
NftController
- نشر العقد الذكي
- النعناع nft
cryptocompare
بالإضافة إلى ذلك ، أستخدم الأدوات التالية لتحويل ABI إلى السلسلة: https://elmah.io/tools/multiline-string-converter/ ومن سلسلة متعددة إلى سطر واحد: https://tools.techcybo.com/multiline-tingle-line
In order to test UniswapV3 get prices you can use the following addresses: WETH : 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 DAI: 0x6B175474E89094C44Da98b954EedeAC495271d0F
اختبارات الوحدة