복잡한 교차 컨트랙트 호출(Cross Contract Call)
이 예제는 복잡한 교차 컨트랙트 호출의 3가지 인스턴스를 나타냅니다. 특히 다음과 같은 것들을 보여줍니다.
- 동일한 컨트랙트에 대한 여러 메서드 호출을 일괄적으로 처리하는 방법.
- 각각 다른 자료형을 반환하는 여러 컨트랙트를 병렬로 호출하는 방법.
- 콜백에서 응답을 처리하는 다양한 방법.
일괄 Action
동일한 컨트랙트에 대한 여러 작업을 하나의 트랜잭션으로 모을 수 있습니다. 일괄 Action은 순차적으로 실행되며, 하나가 실패 하면 모두 되돌려진다는 추가 이점이 있습니다.
- 🦀 Rust
contract/src/batch_actions.rs
loading...
마지막 응답 가져오기
이 경우 콜백은 체인의 마지막 Action에서 반환된 값에 액세스할 수 있습니다.
- 🦀 Rust
contract/src/batch_actions.rs
loading...
여러 컨트랙트 호출
컨트랙트는 여러 다른 컨트랙트를 호출할 수 있습니다. 이렇게 하면 모두 병렬로 실행되는 여러 트랜잭션이 생성됩니다. 트랜잭션 중 하나가 실패해도 나머지는 되돌릴 수 없습니다.
- 🦀 Rust
contract/src/multiple_contracts.rs
loading...
모든 응답 가져오기
이 경우 콜백은 각 호출에서 반환된 값이나 오류 메시지가 있는 응답 배열에 액세스할 수 있습니다
- 🦀 Rust
contract/src/multiple_contracts.rs
loading...
다중 호출 - 동일한 결과 자료형
이 예제는 이전 예제 (2. 여러 컨트랙트 호출) 의 특별한 경우입니다. 이는 단순히 promise_result
어레이에 직접 액세스하여 결과를 확인하는 다른 방법을 보여줍니다.
이 경우, 동일한 자료형을 반환하는 여러 컨트랙트를 호출합니다.
- 🦀 Rust
contract/src/similar_contracts.rs
loading...
모든 응답 가져오기
이 경우 콜백은 다시 응답 배열에 액세스하여, 결과를 반복해서 확인할 수 있습니다.
- 🦀 Rust
contract/src/similar_contracts.rs
loading...