Умные контракты в солидности - C#
Подключите интеллектуальные контракты с .NET через веб -API.
Установка
- Скачать проект и восстановить Nugets
- Настройте appsettings.json с вашими собственными деталями.
- Запуск проект.
Docker Run
Откройте CMD и в Docker-Compose.yml Directory Run:
- Docker Compose -up -d -> Создать и запустить контейнер Docker
- Docker PS -> См. Все контейнеры и проверку порта
- Open URL: http: // localhost: 55757/swagger/index.html (порт указан в командном докере PS)
Редис
Docker Run -name my -redis -p 6379: 6379 -d Redis
Чтобы проверить, работает ли Redis, вы можете проверить следующее:
Docker Exec -it My -Redis SH
#Redis-Cli
пинг
Технические характеристики
- Чистая архитектура (у слоя презентации есть мои контроллеры, потому что я использую Swagger в качестве пользовательского интерфейса)
- Универсальный репозиторий.
- Единица работы.
- Организация.
- API Gateway Pattern.
- Mediatr CQRS Pattern.
Организация объекта:
Всегда целевой инфраструктурный проект по выбору проекта по умолчанию в консоли менеджера пакетов
Добавить миграцию "DB инициализация" -context postgresqldbcontext (контекст по вашему выбору)
Обновление -датабаза -context postgresqldbcontext (контекст по вашему выбору)
Чтобы составить интеллектуальный контракт, я использую код Visual Studio с расширением прочности. После компиляции я использую Abi и Bytecode из файла .json.
У меня есть разные контроллеры для различных интеллектуальных контрактов:
SmartContractController
- DeployanyContract (развертывание контракта с параметрами или без него)
- CallContractVariable (вызовите любую переменную в контракте)
- CallReadFunction (функции чтения вызова в контракте)
- CallWriteFunction (вызововые функции записи в контракте)
- TrackCryptowhalesforanyToken (трек "Transfer" событие в любом токе по вашему выбору)
NetworkController
- Получить
- Getalltransactionofablock
- GetallContractcreationTransactions
Кошелек
- Проверьте баланс
- Отправить эфир/токен в другой кошелек
Uniswapv2
- Нанесенные
- GetReserves
- GetAmountsout
- Утвердить
- Swapexactethfortokens
Uniswapv3
- GetReserves (getPool, токены и баланс)
- Swapexacttokensfortokens с использованием router02
- GetToKendata (с использованием graphql)
- Get Most Liquidpools (с помощью GraphQL)
- GetPooldata (с использованием graphql) getRecentswapswithinapool с использованием graphql)
Смарный контракт лотереи
- Развертывать
- Getrandomnumber
- Получить
- GetBalance
- Enterlottery
- Пиквиннер
Cryptotoken
- Развернуть токен ERC20
- GetBalance
- Мята
- Утвердить
- Разрешение
- DestroysmartContract
- Передача
- Увеличение
- Уменьшение
- Гореть
- Передача
- Сжигание от
NftController
- Развернуть смарт -контракт
- Монетный двор
Cryptocompare
Кроме того, я использую следующие инструменты для преобразования ABI в String: https://elmah.io/tools/multiline-string-converter/ и от многослойной строки до одной линии: https://tools.techcybo.com/multiline-to-single-line-line
Чтобы проверить uniswapv3, получить цены, которые вы можете использовать следующие адреса: weth: 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 dai: 0x6b175474e89094c44da98b954eedeac49511d0f444da98b9544951d0f
Модульные тесты