견고성에서의 스마트 계약 -C#
웹 API를 통해 .NET과 스마트 계약을 연결하십시오.
설치
- 프로젝트를 다운로드하고 너겟을 복원하십시오
- 자신의 세부 정보로 AppSettings.json을 구성하십시오.
- 시작 프로젝트.
도커 런
CMD를 열고 docker-compose.yml 디렉토리 실행 :
- Docker Compose up -d-> Docker 컨테이너 생성 및 시작
- Docker PS-> 모든 컨테이너 및 체크 포트를 참조하십시오
- Open URL : http : // localhost : 55757/swagger/index.html (명령 docker ps에 지정된 포트)
레 디스
Docker Run-- 이름 my -redis -p 6379 : 6379 -d redis
Redis가 작동하는지 확인하려면 다음을 테스트 할 수 있습니다.
Docker exec -it my -redis sh
#Redis-Cli
핑
기술 사양
- Clean Architecture (프레젠테이션 레이어는 Swagger를 UI로 사용하기 때문에 컨트롤러가 있습니다)
- 일반 저장소.
- 작업 단위.
- 엔티티 프레임 워크.
- API 게이트웨이 패턴.
- mediatr cqrs 패턴.
엔티티 프레임 워크 :
패키지 관리자 콘솔의 기본 프로젝트 선택에서 항상 인프라 프로젝트를 대상으로합니다.
추가 "DB 초기화"-Context PostgreSQLDBContext (선택한 컨텍스트)
Update -Database -Context PostgresqldbContext (선택한 컨텍스트)
스마트 계약을 컴파일하기 위해 Solidity Extension과 함께 Visual Studio 코드를 사용하고 있습니다. 컴파일 후 .json 파일에서 ABI 및 BYTECODE를 사용합니다.
다른 스마트 계약을 위해 다른 컨트롤러를 만듭니다.
SmartContractController
- 배포 계약 (매개 변수 또는없는 계약 배포)
- CallContractVariable (계약의 변수 호출)
- CallreadFunction (계약에서 호출 읽기 기능)
- CallWriteFunction (계약서의 통화 쓰기 기능)
- trackCryptowHalesforAnyToken (선택한 모든 토큰의 "전송"이벤트 트랙)
NetworkController
- getBlock
- getAllTransactionOfAblock
- GetAllContractCreationTransactions
지갑
- 균형을 확인하십시오
- 에테르/토큰을 다른 지갑으로 보냅니다
UNISWAPV2
- AllPairs
- getreserves
- getAmountsOut
- 승인하다
- swapexactethfortokens
UNISWAPV3
- getReserves (GetPool, 토큰 및 밸런스)
- Router02를 사용한 Swapexacttokensfortokens
- getTokendata (GraphQL 사용)
- MESTLIQUIDPOOL (GraphQL 사용)
- getPooldata (GraphQL 사용) GetRecentsWapSwitHinapool을 사용하여 GraphQL)
복권 스마트 계약
- 배포
- getrandomnumber
- GetPlayers
- GetBalance
- Enterlottery
- Pickwinner
cryptotoken
- ERC20 토큰을 배포하십시오
- GetBalance
- 박하
- 승인하다
- 용돈
- DestroveSmartContract
- 옮기다
- 증기 증명
- 감소
- 불타다
- 전송
- 화상
NFTController
cryptocompare
또한 ABI를 문자열로 변환하기 위해 다음 도구를 사용합니다 : https://elmah.io/tools/multiline-String-converter/ 및 Multiline String에서 단일 줄로 : https://tools.techcybo.com/multiline-ting-single-line
UNISWAPV3를 테스트하려면 가격을 얻으려면 다음 주소를 사용할 수 있습니다. weth : 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 dai : 0x6b175474e89094c44da98b954eedeac495271d0f.
단위 테스트