에스크로 컨트랙트
이 예제는 구매자가 주어진 기간 내에 승인을 제공하지 않은 경우 트랜잭션을 종료하는 타임아웃 기능이 있는 에스크로 컨트랙트의 간단한 구현을 제공합니다.
이 코드에는 컨트랙트 간 호출을 통해 컨트랙트가 서로 데이터를 전달하는 방법과, 호출자 컨트랙트가 결과를 처리하는 방법에 대한 예제도 포함되어 있습니다.
정보
이 예제에는 프론트엔드가 없습니다.
프로젝트 시작
프로젝트 사용을 시작할 수 있는 두 가지 옵션이 있습니다.
- 첫 번째 권장 방법은 Gitpod를 통해 프로젝트를 여는 것입니다. 그러면 모든 의존성(dependency)이 설치된 웹 기반 대화형 환경이 열립니다.
- 두 번째 옵션은 레퍼지토리를 로컬로 복제하는 것으로, 모든 필수 구성 요소를 설치해야 합니다.
컨트랙트와 상호 작용
이 예제에는 프론트엔트가 없으므로, NEAR CLI를 사용하거나 workspaces-js
를 사용한 테스트를 작성하는 방식으로 컨트랙트와 상호 작용할 수 있습니다.
프로젝트의 README.md를 확인하세요. 간단히 말해서 다음을 수행해야 합니다.
1. 의존성 설치
의존성을 설치하려면 다음 명령을 실행합니다.
npm i
1. 컨트랙트 구축
다음을 실행하여 컨트랙트를 구축할 수 있습니다(네트워크에 배포할 .wasm
파일 생성).
npm run build
완료되면, build/
폴더를 확인했을 때 escrow.wasm
파일이 표시될 것입니다. 이는 자산 소유권을 관리하는 데 사용되는 assets.wasm
파일과 함께 네트워크에 배포될 파일입니다.
2. 컨트랙트 배포
테스트넷에 에스크로 컨트랙트를 배포하려면 다음을 실행하세요.
near deploy --wasmFile build/escrow.wasm --accountId <your-escrow-testnet-account-id>
테스트넷에 자산 컨트랙트를 배포하려면 다음을 실행하세요.
near deploy --wasmFile build/assets.wasm --accountId <your-assets-testnet-account-id>