主内
ー。。ー。

권한 부여

권한 부여는 사용자에게 트랜잭션을 수행할 권한이 있는지 여부를 (작업을 통해) 결정하는 프로세스입니다. 블록체인 애플리케이션에서 이는 스마트 계약과 디지털 자산의 안전을 보장하는 핵심 측면입니다. 제어합니다.

EOS++를 통한 권한 확인은 몇 가지 방법으로 수행할 수 있습니다.

발신자 가져오기

트랜잭션의 발신자를 얻는 가장 좋은 방법은 트랜잭션을 액션에 인수로 전달하는 것입니다.

ACTION testauth(name user) {
print("I was called by ", user);
}

이는 트랜잭션의 발신자를 구하는 가장 명확한 방법이며 이를 수행하는 데 권장되는 방법입니다.

인증 필요

계정이 이 거래에 서명하고 권한을 부여했는지 확인하는 가장 쉬운 방법은 다음을 사용하는 것입니다. require_auth 기능.

ACTION testauth(name user) {
require_auth(user);
}

인증 필요 2

처럼 require_auth 함수, require_auth2 함수는 지정된 계정이 트랜잭션에 서명했는지 확인합니다. 그러나 지정된 권한이 트랜잭션에 서명했는지도 확인합니다.

ACTION testauth(name user) {
require_auth2(user, name("owner"));
}

그러면 지정된 사항을 확인할 수 있습니다. user 계정이 트랜잭션에 서명했습니다. 즉, 호출되는 트랜잭션을 의미합니다. 이 작업은 에 의해 승인되었습니다. user 계정.

인증 있음

위 내용 require_auth 함수는 지정된 계정이 트랜잭션에 서명했는지 확인하고 트랜잭션을 실패합니다. 그렇지 않은 경우.단, 지정한 계정이 거래에 서명했지만 거래에 실패하지 않았는지 확인하려는 경우 그렇지 않은 경우 다음을 사용할 수 있습니다. has_auth 기능.

ACTION testauth() {
name thisContract = get_self();
if (has_auth(thisContract)) {
// This contract has signed the transaction
}
}

사용자 계정

계정이 존재하는지 확인하는 것도 좋습니다.이것은 다음을 사용하여 수행할 수 있습니다. is_account 기능.

ACTION testauth(name user) {
if(!is_account(user)) {
// The user account does not exist
}
}