토큰 분류법 프레임워크에 대한 비계된 Go 프로젝트
Blockchain App Builder는 토큰 사양 파일에서 입력을 가져와 완전히 작동하는 스캐폴드 체인 코드 프로젝트를 생성합니다.
이 프로젝트는 CRUD 및 비CRUD 메소드를 포함한 토큰 수명 주기 클래스 및 함수를 자동으로 생성합니다. 인수 검증, 마셜링/마셜링 해제 및 투명한 지속성 기능이 모두 자동으로 지원됩니다.
스캐폴드된 프로젝트 및 토큰과 직접 관련이 없는 방법에 대한 자세한 내용은 Scaffolded Go Chaincode Project를 참조하십시오.
모델
투명한 지속성 기능 또는 단순화된 ORM은 OchainModel
클래스에서 캡처됩니다.
package src
type Digicur struct {
AssetType string `json:"AssetType" final:"otoken"`
Token_id string `json:"Token_id" id:"true" mandatory:"true" validate:"regexp=^[A-Za-z0-9][A-Za-z0-9_-]*$,max=16"`
Token_name string `json:"Token_name" final:"digicur"`
Token_desc string `json:"Token_desc" validate:"max=256"`
Token_type string `json:"Token_type" final:"fungible" validate:"regexp=^fungible$"`
Behavior []string `json:"Behavior" final:"[\"divisible\",\"mintable\",\"transferable\",\"burnable\",\"holdable\",\"roles\"]"`
Roles map[string]interface{} `json:"Roles" final:"{\"minter_role_name\":\"minter\",\"burner_role_name\":\"burner\",\"notary_role_name\":\"notary\"}"`
Mintable map[string]interface{} `json:"Mintable" final:"{\"Max_mint_quantity\":20000}"`
Divisible map[string]interface{} `json:"Divisible" final:"{\"Decimal\":1}"`
Token_to_currency_ratio int `json:"Token_to_currency_ratio" validate:"int"`
Currency_representation string `json:"Currency_representation" validate:"string"`
Metadata interface{} `json:"Metadata,omitempty"`
}
제어기
주 컨트롤러는 하나만 있습니다.
type Controller struct {
Ctx trxcontext.TrxContext
}
원하는 수의 클래스, 함수 또는 파일을 만들 수 있지만 기본 컨트롤러 클래스에 정의된 메소드만 호출할 수 있습니다. 다른 방법은 숨겨져 있습니다.
토큰 SDK 메소드를 사용하여 업무용 응용 프로그램에 대한 커스텀 메소드를 작성할 수 있습니다.
사용자정의 메소드에서 둘 이상의 토큰 SDK 메소드를 사용하는 경우 상태 데이터베이스에서 동일한 키-값 쌍에 영향을 주는 메소드를 사용하지 마십시오.
대신 다음 코드 조각에 표시된 것처럼 BulkTransferTokens
메소드를 사용하여 호출자의 계정에서 다중 계정으로 이전합니다.
BulkTransferTokens(token_id string, flow: []map[string]interface{})
주:
사용자 정의 메소드에서 상태 데이터베이스의 동일한 키-값 쌍에 영향을 줄 수 있는 토큰 SDK 메소드를 두 개 이상 사용하는 경우 토큰 체인코드에 대해 MVCC 최적화를 사용으로 설정합니다. 자세한 내용은 MVCC Optimization을 참조하십시오.자동으로 생성된 토큰 메소드
Blockchain App Builder는 토큰 및 토큰 수명 주기를 지원하는 메소드를 자동으로 생성합니다. 이러한 방법을 사용하여 추가 코딩 없이 토큰을 초기화하고, 역할 및 계정을 관리하고, 기타 토큰 수명 주기 작업을 완료할 수 있습니다. 컨트롤러 메소드는 퍼블릭이어야 호출할 수 있습니다. 공용 메소드 이름은 대문자로 시작합니다. 소문자로 시작하는 메소드 이름은 전용입니다.
액세스 제어 관리 방법
-
AddTokenAdmin
- 이 메소드는 사용자를 체인코드의
Token Admin
로 추가합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
RemoveTokenAdmin
- 이 메소드는 사용자를 체인코드의
Token Admin
로 제거합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
IsTokenAdmin
- 이 메소드는 함수 호출자가
Token Admin
인 경우 부울 값true
를 반환하고, 그렇지 않은 경우false
를 반환합니다.Token Admin
또는Org Admin
는 블록체인 네트워크의 다른 사용자에서 이 기능을 호출할 수 있습니다. 다른 사용자는 자신의 계정에서만 이 메소드를 호출할 수 있습니다. -
GetAllTokenAdmins
- 이 메소드는 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. 이 메소드는 체인 코드의Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
AddOrgAdmin
- 이 메소드는 사용자를 조직의
Org Admin
로 추가합니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
RemoveOrgAdmin
- 이 방법은 조직의
Org Admin
인 사용자를 제거합니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetOrgAdmins
- 이 메소드는 조직의
Org Admin
인 모든 사용자 목록을 반환합니다. 이 메소드는 체인 코드의Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다.
-
AddTokenAdmin
- 이 메소드는 사용자를 체인코드의
Token Admin
로 추가합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
RemoveTokenAdmin
- 이 메소드는 사용자를 체인코드의
Token Admin
로 제거합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
IsTokenAdmin
- 이 메소드는 함수 호출자가
Token Admin
인 경우 부울 값true
를 반환하고, 그렇지 않은 경우false
를 반환합니다. 이 함수는Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetAllTokenAdmins
- 이 메소드는 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. 이 메소드는Token Admin
또는Token Auditor
에 의해서만 호출될 수 있습니다. -
AddOrgAdmin
- 이 메소드는 사용자를 조직의
Org Admin
로 추가합니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
RemoveOrgAdmin
- 이 방법은 조직의
Org Admin
인 사용자를 제거합니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetOrgAdmins
- 이 메소드는 조직의
Org Admin
인 모든 사용자 목록을 반환합니다. 이 메소드는Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
AddTokenAuditor
- 이 메소드는 사용자를 체인코드의
Token Auditor
로 추가합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
RemoveTokenAuditor
- 이 메소드는 사용자를 체인코드의
Token Auditor
로 제거합니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
GetTokenAuditors
- 이 메소드는 체인 코드의 모든
Token Auditors
를 반환합니다. 이 메소드는 체인코드의Token Admin
또는Token Auditor
에 의해서만 호출될 수 있습니다. -
AddOrgAuditor
- 이 메소드는 사용자를 체인코드의
Org Auditor
로 추가합니다. 이 메소드는 체인코드의Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
RemoveOrgAuditor
- 이 메소드는 사용자를 체인코드의
Org Auditor
로 제거합니다. 이 메소드는 체인코드의Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
GetOrgAuditors
- 이 메소드는 체인 코드의 모든
Org Auditors
를 반환합니다. 이 메소드는Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다.
토큰 구성 관리 방법
-
Init
- 이 메소드는 체인 코드가 배치될 때 호출됩니다. 모든
Token Admin
는 필수adminList
매개변수의user_id
및org_id
정보로 식별됩니다.user_id
은 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID입니다.org_id
는 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다. -
Initialize<Token Name>Token
- 이 메소드는 토큰을 생성하고 토큰 속성을 초기화합니다. 자산 및 해당 속성이 상태 데이터베이스에 저장됩니다. 이 메소드는 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. -
Update<Token Name>Token
- 이 메소드는 토큰 속성을 업데이트합니다. 토큰 자산이 생성된 후에는
token_desc
속성 및 사용자정의 속성만 업데이트할 수 있습니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
GetTokenDecimals
- 이 메소드는 소수 토큰에 대해 구성된 소수 자릿수를 반환합니다. 토큰에 대해
divisible
동작이 지정되지 않은 경우 기본값은 0입니다. 이 메소드는 체인코드의Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
GetTokenById
- 이 메소드는 상태 데이터베이스에 있는 경우 토큰 객체를 반환합니다. 이 메소드는 체인코드의
Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
GetTokenHistory
- 이 메소드는 지정된 토큰 ID에 대한 토큰 기록을 반환합니다. 모든 유저가 이 메소드를 호출할 수 있습니다.
-
GetAllTokens
- 이 메소드는 상태 데이터베이스에 저장된 모든 토큰을 반환합니다. 이 메소드는 체인코드의
Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
GetTokensByName
- 이 메소드는 지정된 이름을 가진 모든 토큰 객체를 반환합니다. 이 메소드는 체인코드의
Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
-
Init
- 이 메소드는 체인 코드가 배치될 때 호출됩니다. 모든
Token Admin
는 필수adminList
매개변수의user_id
및org_id
정보로 식별됩니다.user_id
은 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID입니다.org_id
는 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자(MSP) ID입니다. -
Initialize<Token Name>Token
- 이 메소드는 토큰을 생성하고 토큰 속성을 초기화합니다. 자산 및 해당 속성이 상태 데이터베이스에 저장됩니다. 이 메소드는 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. -
Update<Token Name>Token
- 이 메소드는 토큰 속성을 업데이트합니다. 토큰 자산이 생성된 후에는
token_desc
속성 및 사용자정의 속성만 업데이트할 수 있습니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
GetTokenDecimals
- 이 메소드는 소수 토큰에 대해 구성된 소수 자릿수를 반환합니다. 토큰에 대해
divisible
동작이 지정되지 않은 경우 기본값은 0입니다. 이 메소드는Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetTokenById
- 이 메소드는 상태 데이터베이스에 있는 경우 토큰 객체를 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetTokenHistory
- 이 메소드는 지정된 토큰 ID에 대한 토큰 기록을 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetAllTokens
- 이 메소드는 상태 데이터베이스에 저장된 모든 토큰을 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetTokensByName
- 이 메소드는 지정된 이름을 가진 모든 토큰 객체를 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
계정 관리 방법
-
CreateAccount
- 이 메소드는 지정된 사용자 및 토큰의 계정을 만듭니다. 언제든지 토큰을 가질 사용자에 대해 계정을 만들어야 합니다. 계정은 잔액, 보류 중인 잔액 및 트랜잭션 기록을 추적합니다. 계정 ID는
oaccount~<token asset name>~
앞에 오는 영숫자 문자 집합으로, 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID(user_id
), 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자 ID(org_id
)가 해시됩니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
AssociateTokenToAccount
- 이 방법은 대체 가능한 토큰을 계정에 연결합니다. 이 메소드는 체인 코드의
Token Admin
또는 관련 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetAccount
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 세부정보를 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAccountHistory
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 기록 세부정보를 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAccountOnHoldBalance
- 이 방법은 지정된 계정 및 토큰에 대한 현재 보류 잔액을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAllAccounts
- 이 방법은 모든 계정 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다. -
GetUserByAccountId
- 이 메소드는 지정된 계정에 대한 사용자 세부정보(
org_id
및user_id
)를 반환합니다. 이 메소드는 체인코드의 모든 사용자가 호출할 수 있습니다. -
GetAccountBalance
- 이 메서드는 지정된 계정과 토큰의 현재 잔액을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAllOrgAccounts
- 이 메소드는 지정된 조직에 속하는 모든 토큰 계정 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다.
-
CreateAccount
- 이 메소드는 지정된 사용자 및 토큰의 계정을 만듭니다. 언제든지 토큰을 가질 사용자에 대해 계정을 만들어야 합니다. 계정은 잔액, 보류 중인 잔액 및 트랜잭션 기록을 추적합니다. 계정 ID는
oaccount~<token asset name>~
앞에 오는 영숫자 문자 집합으로, 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID(user_id
), 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자 ID(org_id
)가 해시됩니다. 이 메소드는 체인 코드의Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
AssociateTokenToAccount
- 이 방법은 대체 가능한 토큰을 계정에 연결합니다. 이 메소드는 체인 코드의
Token Admin
또는 관련 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetAccount
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 세부정보를 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAccountHistory
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 기록 세부정보를 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAccountOnHoldBalance
- 이 방법은 지정된 계정 및 토큰에 대한 현재 보류 잔액을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자에 의해서만 호출될 수 있습니다. -
GetAllAccounts
- 이 방법은 모든 계정 목록을 반환합니다. 이 메소드는 체인코드의
Token Admin
또는Token Auditor
에 의해서만 호출될 수 있습니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다. -
GetUserByAccountId
- 이 메소드는 지정된 계정에 대한 사용자 세부정보(
org_id
및user_id
)를 반환합니다. 이 메소드는Token Admin
또는Token Auditor
또는 지정된 조직의Org Admin
또는Org Auditor
에 의해서만 호출될 수 있습니다. -
GetAccountBalance
- 이 메서드는 지정된 계정과 토큰의 현재 잔액을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자에 의해서만 호출될 수 있습니다. -
GetAllOrgAccounts
- 이 메소드는 지정된 조직에 속하는 모든 토큰 계정 목록을 반환합니다. 이 메소드는
Token Admin
또는Token Auditor
또는 지정된 조직의Org Admin
또는Org Auditor
에 의해서만 호출될 수 있습니다.
역할 관리 방법
-
AddRole
- 이 메소드는 지정된 사용자 및 토큰에 롤을 추가합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 롤을 가진 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
RemoveRole
- 이 방법은 지정된 사용자 및 토큰에서 역할을 제거합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 롤을 가진 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetAccountsByRole
- 이 메소드는 지정된 롤과 토큰에 대한 모든 계정 ID 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. -
GetAccountsByUser
- 이 메소드는 지정된 조직 ID 및 사용자 ID에 대한 모든 계정 ID 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 매개변수에 지정된Account Owner
에 의해서만 호출될 수 있습니다. -
GetUsersByRole
- 이 메소드는 지정된 롤 및 토큰에 대한 모든 사용자 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 매개변수에 지정된Account Owner
에 의해서만 호출될 수 있습니다. -
IsInRole
- 이 메소드는 사용자 및 토큰이 지정된 롤을 가지는지 여부를 나타내는 부울 값을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetOrgAccountsByRole
- 이 방법은 지정된 조직에서 지정된 역할을 가진 모든 고객사에 대한 정보를 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetOrgUsersByRole
- 이 메소드는 지정된 조직에서 지정된 롤을 가진 모든 사용자에 대한 정보를 반환합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다.
-
AddRole
- 이 메소드는 지정된 사용자 및 토큰에 롤을 추가합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 롤을 가진 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
RemoveRole
- 이 방법은 지정된 사용자 및 토큰에서 역할을 제거합니다. 이 메소드는 체인 코드의
Token Admin
또는 지정된 롤을 가진 지정된 조직의Org Admin
에 의해서만 호출될 수 있습니다. -
GetAccountsByRole
- 이 메소드는 지정된 롤과 토큰에 대한 모든 계정 ID 목록을 반환합니다. 이 메소드는
Token Admin
또는Token Auditor
에 의해서만 호출될 수 있습니다. -
GetAccountsByUser
- 이 메소드는 지정된 조직 ID 및 사용자 ID에 대한 모든 계정 ID 목록을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 매개변수에 지정된Account Owner
에 의해서만 호출될 수 있습니다. -
GetUsersByRole
- 이 메소드는 지정된 롤 및 토큰에 대한 모든 사용자 목록을 반환합니다. 이 메소드는
Token Admin
또는Token Auditor
에 의해서만 호출될 수 있습니다. -
IsInRole
- 이 메소드는 사용자 및 토큰이 지정된 롤을 가지는지 여부를 나타내는 부울 값을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자에 의해서만 호출될 수 있습니다. -
GetOrgAccountsByRole
- 이 방법은 지정된 조직에서 지정된 역할을 가진 모든 고객사에 대한 정보를 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetOrgUsersByRole
- 이 메소드는 지정된 조직에서 지정된 롤을 가진 모든 사용자에 대한 정보를 반환합니다. 이 메소드는
Token Admin
또는Token Auditor
또는 지정된 조직의Org Admin
또는Org Auditor
에 의해서만 호출될 수 있습니다.
트랜잭션 내역 관리 방법
-
GetAccountTransactionHistory
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 트랜잭션 내역 세부정보 배열을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetAccountTransactionHistoryWithFilters
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 트랜잭션 내역 세부정보 배열을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. 이 방법은 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다. -
GetSubTransactionsById
- 이 메소드는 지정된 트랜잭션에 대한 하위 트랜잭션 기록 세부정보 배열을 반환합니다.
-
GetSubTransactionsByIdWithFilters
- 이 메소드는 지정된 트랜잭션에 대한 하위 트랜잭션 기록 세부정보 배열을 반환합니다.
-
GetTransactionById
- 이 메소드는
Transaction
자산의 내역을 반환합니다. -
DeleteHistoricalTransactions
- 이 방법은 상태 데이터베이스에서 이전 트랜잭션을 삭제합니다.
-
GetAccountTransactionHistoryWithFiltersFromRichHistDB
func (t *Controller) GetAccountTransactionHistoryWithFiltersFromRichHistDB(token_id string, org_id string, user_id string, custom_endPoint string, bearer_token string, filters ...account.AccountHistoryFilters) (interface{}, error) { account_id, err := t.Ctx.Account.GenerateAccountId(token_id, org_id, user_id) if err != nil { return nil, err } auth, err := t.Ctx.Auth.CheckAuthorization("Account.GetAccountTransactionHistoryWithFilters", "TOKEN", map[string]string{"account_id": account_id}) if err != nil && !auth { return nil, fmt.Errorf("error in authorizing the caller %s", err.Error()) } // sample format of filter: []string{"3", "", "2022-01-16T15:16:36+00:00", "2022-01-17T15:16:36+00:00"} transactionArray, err := t.Ctx.Account.GetAccountTransactionHistoryWithFiltersFromRichHistDB(account_id, org_id, user_id, custom_endPoint, bearer_token, filters...) return transactionArray, err }
-
GetAccountTransactionHistory
- 이 메소드는 지정된 사용자 및 토큰에 대한 계정 트랜잭션 내역 세부정보 배열을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자에 의해서만 호출될 수 있습니다. -
GetAccountTransactionHistoryWithFilters
- 이 메소드는 지정된 사용자 및 토큰에 대한 필터링된 계정 트랜잭션 기록 세부정보 배열을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자에 의해서만 호출될 수 있습니다. -
GetSubTransactionsById
- 이 메소드는 지정된 트랜잭션에 대한 하위 트랜잭션 기록 세부정보 배열을 반환합니다. 이 메소드는 트랜잭션을 호출한
Token Admin
,Token Auditor
또는AccountOwner
에 의해서만 호출될 수 있습니다. -
GetSubTransactionsByIdWithFilters
- 이 메소드는 지정된 트랜잭션에 대한 하위 트랜잭션 기록 세부정보 배열을 반환합니다.
-
GetTransactionById
- 이 메소드는
Transaction
자산의 내역을 반환합니다. 이 메소드는 지정된 조직의Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 트랜잭션 참가자(발신자, 수신자, 공증)에 의해서만 호출될 수 있습니다. -
DeleteHistoricalTransactions
- 이 방법은 상태 데이터베이스에서 이전 트랜잭션을 삭제합니다.
토큰 동작 관리 방법 - 실행 가능한 동작
-
IssueTokens
- 이 메소드는 메소드의 호출자가 소유하는 토큰을 민트합니다. 호출자는 계정과 minter 롤을 가져야 합니다. 주석 처리할 수 있는 토큰 수는 사양 파일에서
mintable
동작의max_mint_quantity
속성에 의해 제한됩니다.max_mint_quantity
등록 정보가 지정되지 않은 경우 토큰을 개수 제한 없이 조롱할 수 있습니다. 수량은 사양 파일에서divisible
동작의decimal
매개변수에 의해 지정된 십진수 값 내에 있어야 합니다. 이 메소드는 minter 롤을 가진 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetTotalMintedTokens
- 이 메소드는 지정된 토큰에 대해 민트된 토큰의 총 수를 반환합니다. 이 메소드는 체인코드의
Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다. -
GetNetTokens
- 이 메소드는 지정된 토큰에 대해 시스템에서 사용 가능한 총 순 토큰 수를 반환합니다. 순 토큰 합계는 토큰이 레코딩된 후 남은 토큰의 양입니다. 방정식 형태의 순 토큰 = 총 주조 토큰 - 총 레코딩 토큰. 토큰이 레코딩되지 않으면 순 토큰 수가 민트된 총 토큰 수와 같습니다. 이 메소드는 체인코드의
Token Admin
또는Org Admin
에 의해서만 호출될 수 있습니다.
-
RequestMint
- 이 메서드는 광부가 지정된 양의 토큰을 만들기 위해 광부 공증에 요청을 보내기 위해 호출할 수 있습니다.
-
ApproveMint
- 이 메서드는 민팅 요청을 승인하기 위해 광부 공증인이 호출할 수 있습니다.
-
RejectMint
- 이 메서드는 민팅 요청을 거부하기 위해 광부 공증인이 호출할 수 있습니다.
-
IssueTokens
- 이 메소드는 메소드의 호출자가 소유하는 토큰을 민트합니다.
-
GetTotalMintedTokens
- 이 메소드는 지정된 토큰에 대해 민트된 토큰의 총 수를 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다. -
GetNetTokens
- 이 메소드는 지정된 토큰에 대해 시스템에서 사용 가능한 총 순 토큰 수를 반환합니다. 순 토큰 합계는 토큰이 레코딩된 후 남은 토큰의 양입니다. 방정식 형태의 순 토큰 = 총 주조 토큰 - 총 레코딩 토큰. 토큰이 레코딩되지 않으면 순 토큰 수가 민트된 총 토큰 수와 같습니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
또는Org Auditor
를 통해서만 호출할 수 있습니다.
토큰 동작 관리 방법 - 이전 가능한 동작
-
TransferTokens
- 이 방법은 호출자의 토큰을 지정된 계정으로 전송합니다. 메소드 호출자는 계정을 가져야 합니다. 수량은 사양 파일에서
divisible
동작의decimal
매개변수에 의해 지정된 십진수 값 내에 있어야 합니다. 이 메소드는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
BulkTransferTokens
- 이 메소드는 호출자 계정에서
flow
객체에 지정된 계정으로 토큰을 대량으로 전송합니다. 수량은 이 메소드의 사양 file.The 호출자에서divisible
동작의decimal
매개변수에 의해 지정된 십진수 값 내에 있어야 합니다. 계정이 이미 생성되어 있어야 합니다. 이 메소드는 계정의AccountOwner
에 의해서만 호출될 수 있습니다.
토큰 동작 관리 방법 - 보류 가능한 동작
-
HoldTokens
- 이 방법은
to_account_id
계정을 사용하여 토큰 소유자를 대신하여 보류를 생성합니다. 공증 계정이 지정되어 보류를 완료하거나 해제합니다. 보류가 생성되면 지급인의 지정된 토큰 잔액이 보류됩니다. 보류가 완료되거나 해제될 때까지 보류 잔액을 이전할 수 없습니다. 이 메소드의 호출자는 이미 생성된 계정을 가져야 합니다. 이 메소드는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
ExecuteHoldTokens
- 이 메소드는 토큰에 대한 보류를 완료합니다. 토큰 소유자가 이전에 보유한 토큰의 수량이 수신자에게 이전됩니다.
quantity
값이 실제 보류 값보다 작은 경우 토큰의 원래 소유자가 나머지 금액을 다시 사용할 수 있습니다. 이 메소드는notary
롤을 가진AccountOwner
ID로만 호출할 수 있습니다. 홀드는 공증인에 의해서만 완성될 수 있다. -
ReleaseHoldTokens
- 이 방법은 토큰 보류를 해제합니다. 전송이 완료되지 않았으며 모든 보유 토큰을 원래 소유자가 다시 사용할 수 있습니다. 이 메소드는 지정된 시간 제한 내에
notary
롤이 있는Account Owner
ID 또는 지정된 시간 제한 이후 지급인, 수취인 또는 공증인이 호출할 수 있습니다. -
GetOnHoldIds
- 이 메소드는 지정된 계정에 대한 모든 보유 ID 목록을 반환합니다. 이 메소드는 체인 코드의
Token Admin
, 지정된 조직의Org Admin
또는 계정의Account Owner
에서 호출할 수 있습니다. -
GetOnHoldDetailsWithOperationId
- 이 메소드는 지정된 작업 ID 및 토큰에 대해 보류 중인 트랜잭션 세부정보를 반환합니다. 이 메소드는 누구나 호출할 수 있습니다.
-
GetOnHoldBalanceWithOperationId
- 이 메소드는 지정된 작업 ID 및 토큰에 대해 보류 중인 잔액을 반환합니다. 이 메소드는 누구나 호출할 수 있습니다.
-
HoldTokens
- 이 방법은
to_account_id
계정을 사용하여 토큰 소유자를 대신하여 보류를 생성합니다. -
ExecuteHoldTokens
- 이 메소드는 토큰에 대한 보류를 완료합니다. 토큰 소유자가 이전에 보유한 토큰의 수량이 수신자에게 이전됩니다.
quantity
값이 실제 보류 값보다 작은 경우 토큰의 원래 소유자가 나머지 금액을 다시 사용할 수 있습니다. 이 메소드는notary
롤을 가진AccountOwner
ID로만 호출할 수 있습니다. 홀드는 공증인에 의해서만 완성될 수 있다. -
ReleaseHoldTokens
- 이 방법은 토큰 보류를 해제합니다. 전송이 완료되지 않았으며 모든 보유 토큰을 원래 소유자가 다시 사용할 수 있습니다. 이 메소드는 지정된 시간 제한 내에
notary
롤이 있는Account Owner
ID 또는 지정된 시간 제한 이후 지급인, 수취인 또는 공증인이 호출할 수 있습니다. -
GetOnHoldIds
- 이 메소드는 지정된 계정에 대한 모든 보유 ID 목록을 반환합니다. 이 메소드는 지정된 조직의
Token Admin
또는Token Auditor
,Org Admin
또는Org Auditor
또는 지정된 계정 소유자가 호출할 수 있습니다. -
GetOnHoldDetailsWithOperationId
- 이 메소드는 지정된 작업 ID 및 토큰에 대해 보류 중인 트랜잭션 세부정보를 반환합니다. 이 메소드는
Token Admin
,Token Auditor
또는 트랜잭션 참가자(발신자, 수신자, 공증인)에 의해서만 호출될 수 있습니다. -
GetOnHoldBalanceWithOperationId
- 이 메소드는 지정된 작업 ID 및 토큰에 대해 보류 중인 잔액을 반환합니다. 이 메소드는
Token Admin
,Token Auditor
또는 트랜잭션 참가자(발신자, 수신자, 공증인)에 의해서만 호출될 수 있습니다.
토큰 동작 관리 방법 - 굽기 가능 동작
-
RequestBurn
- 이 방법은 버너가 지정된 양의 토큰을 폐기하라는 요청을 버너 공증에 보내기 위해 호출할 수 있으며, 이는 사용 가능한 잔액보다 작거나 같아야 합니다. 레코딩 요청이 시작되면 지정된 금액이 사용 가능한 잔액에서 즉시 공제되고
onhold_burn_balance
필드에 추가됩니다. 요청이 승인되면 토큰이 레코딩됩니다. 요청이 거부되면 토큰이onhold_burn_balance
필드에서 사용 가능한 잔액으로 반환됩니다. -
ApproveBurn
- 이 메서드는 레코딩 요청을 승인하기 위해 버너 공증에 의해 호출 될 수 있습니다.
-
RejectBurn
- 이 메서드는 레코딩 요청을 거부하기 위해 버너 공증에 의해 호출 될 수 있습니다.
-
GetAccountOnHoldBurnBalance
- 이 방법은 지정된 사용자에 대한 보류 중인 레코딩 잔액을 반환합니다. 이 메소드는
Token Admin
,Token Auditor
,Org Admin
,Org Auditor
또는 계정 소유자에 의해서만 호출될 수 있습니다. -
BurnTokens
- 이 메소드는 트랜잭션 호출자의 계정에서 토큰을 비활성화하거나 레코딩합니다.
사용자정의 방법
토큰 SDK 메소드를 사용하여 업무용 응용 프로그램에 대한 커스텀 메소드를 작성할 수 있습니다.
토큰 SDK 메소드를 사용할 때 반환 값을 추적해야 합니다. 또한 이중 지출을 피하기 위해 상태 데이터베이스의 동일한 키-값 쌍에서 작동하는 여러 비동기 함수를 결합하지 마십시오. 대신 BulkTransferTokens
메소드를 사용하여 한 가지 방법으로 다중 전송을 수행합니다.
다음 예에서는 사용자정의 메소드에서 토큰 SDK 메소드를 사용하는 방법을 보여줍니다. BuyTicket
메소드가 호출되면 호출자 계정에서 판매자 계정으로 20개의 토큰을 전송하고 전송의 트랜잭션 메시지를 반환합니다.
func (t *Controller) BuyTicket(TokenId string, SellerOrgId string, SellerUserId string) (interface{}, error){
token, err := t.Ctx.Token.Get(TokenId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId) generates account id of the seller
*/
sellerAccountId, err := t.Ctx.Account.GenerateAccountId(TokenId, SellerOrgId, SellerUserId)
if err != nil {
return nil, err
}
/**
* The following method t.Ctx.Token.Transfer(sellerAccountId, 20, token) transfers the quantity 20 from caller's
* account & to seller's account.
*/
transaction, err := t.Ctx.Token.Transfer(sellerAccountId, 20, token)
if err != nil {
return nil, err
}
return transaction, nil
}
토큰 SDK 메소드
액세스 제어 관리 방법
Token Admin
, Org Admin
또는 AccountOwner
에 의해서만 호출될 수 있습니다. 이 기능을 사용하여 작업이 의도한 사용자만 수행되도록 할 수 있습니다. 권한 없는 액세스로 인해 오류가 발생합니다. 액세스 제어 함수를 사용하려면 ../lib/auth
모듈에서 Authorization
클래스를 임포트합니다.import { Authorization } from '../lib/auth';
-
AddAdmin
- 이 메소드는 사용자를 토큰 체인코드의
Token Admin
로 추가합니다. -
RemoveAdmin
- 이 메소드는 토큰 체인코드의
Token Admin
인 사용자를 제거합니다. -
IsUserTokenAdmin
- 이 메소드는 함수 호출자가
Token Admin
인 경우 부울 값true
를 반환합니다. 그렇지 않으면 메소드가false
를 반환합니다. -
GetAllAdmins
- 이 메소드는 토큰 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. -
GetAllAdminUsers
- 이 메소드는 토큰 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. -
CheckAuthorization
- 이 방법을 사용하여 체인 코드에 액세스 제어를 추가합니다. 자동으로 생성된 많은 토큰 메소드는 액세스 제어를 사용합니다. SDK 수신기와 액세스 제어가 있는 메소드 간의 매핑은
oChainUtil.go
파일에 설명되어 있습니다. 자체 액세스 제어를 사용하거나 액세스 제어를 사용 안함으로 설정하려면 자동으로 생성된 제어기 방법 및 사용자 정의 방법에서 액세스 제어 코드를 제거합니다.var t TokenAccess var r RoleAccess var a AccountAccess var as AccountStatusAccess var h HoldAccess var ad AdminAccess var trx TransactionAccess var tc TokenConversionAccess var auth AuthAccess auth.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner"} trx.DeleteHistoricalTransactions = []string{"Admin"} ad.AddAdmin = []string{"Admin"} ad.RemoveAdmin = []string{"Admin"} ad.GetAllAdmins = []string{"Admin", "OrgAdmin"} ad.AddOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.RemoveOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.GetOrgAdmins = []string{"Admin", "OrgAdmin"} ad.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner", "OrgAdmin"} t.Save = []string{"Admin"} t.GetAllTokens = []string{"Admin", "OrgAdmin"} t.Update = []string{"Admin"} t.GetTokenDecimals = []string{"Admin", "OrgAdmin"} t.GetTokensByName = []string{"Admin", "OrgAdmin"} t.AddRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.RemoveRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.IsInRole = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} t.GetTotalMintedTokens = []string{"Admin", "OrgAdmin"} t.GetNetTokens = []string{"Admin", "OrgAdmin"} t.Get = []string{"Admin", "OrgAdmin"} t.GetTokenHistory = []string{"Admin", "OrgAdmin"} a.CreateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} a.AssociateToken = []string{"Admin", "OrgAdminAccountIdCheck"} a.GetAllAccounts = []string{"Admin"} a.GetAllOrgAccounts = []string{"Admin", "OrgAdminOrgIdCheck"} a.GetAccount = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.History = []string{"Admin", "AccountOwner"} a.GetAccountTransactionHistory = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountTransactionHistoryWithFilters = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetSubTransactionsById = []string{"Admin", "TransactionInvoker"} a.GetSubTransactionsByIdWithFilters = []string{"Admin", "TransactionInvoker"} a.GetAccountBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountOnHoldBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetOnHoldIds = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountsByUser = []string{"Admin", "OrgAdminOrgIdCheck", "MultipleAccountOwner"} as.Get = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} as.ActivateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.SuspendAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.DeleteAccount = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetAccountsByRole = []string{"Admin"} r.GetUsersByRole = []string{"Admin"} r.GetOrgAccountsByRole = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetOrgUsersByRole = []string{"Admin", "OrgAdminOrgIdCheck"} tc.InitializeExchangePoolUser = []string{"Admin"} tc.AddConversionRate = []string{"Admin"} tc.UpdateConversionRate = []string{"Admin"} tc.GetConversionRate = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.GetConversionRateHistory = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.TokenConversion = []string{"Admin", "AnyAccountOwner"} tc.GetExchangePoolUser = []string{"Admin"}
-
AddOrgAdmin
- 이 메소드는 사용자를 조직의
Org Admin
로 추가합니다. -
RemoveOrgAdmin
- 이 방법은 조직의
Org Admin
인 사용자를 제거합니다. -
GetOrgAdmins
- 이 메소드는 조직의
Org Admin
인 모든 사용자 목록을 반환합니다.
-
AddAdmin
- 이 메소드는 사용자를 토큰 체인코드의
Token Admin
로 추가합니다. -
RemoveAdmin
- 이 메소드는 토큰 체인코드의
Token Admin
인 사용자를 제거합니다. -
IsUserTokenAdmin
- 이 메소드는 함수 호출자가
Token Admin
인 경우 부울 값true
를 반환합니다. 그렇지 않으면 메소드가false
를 반환합니다. -
GetAllAdmins
- 이 메소드는 토큰 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. -
GetAllAdminUsers
- 이 메소드는 토큰 체인 코드의
Token Admin
인 모든 사용자 목록을 반환합니다. -
CheckAuthorization
- 이 방법을 사용하여 체인 코드에 액세스 제어를 추가합니다. 자동으로 생성된 많은 토큰 메소드는 액세스 제어를 사용합니다. SDK 수신기와 액세스 제어가 있는 메소드 간의 매핑은
oChainUtil.go
파일에 설명되어 있습니다. 자체 액세스 제어를 사용하거나 액세스 제어를 사용 안함으로 설정하려면 자동으로 생성된 제어기 방법 및 사용자 정의 방법에서 액세스 제어 코드를 제거합니다.var t TokenAccess var r RoleAccess var a AccountAccess var as AccountStatusAccess var h HoldAccess var ad AdminAccess var trx TransactionAccess var tc TokenConversionAccess var auth AuthAccess auth.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner"} trx.DeleteHistoricalTransactions = []string{"Admin"} ad.AddAdmin = []string{"Admin"} ad.RemoveAdmin = []string{"Admin"} ad.GetAllAdmins = []string{"Admin", "OrgAdmin"} ad.AddOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.RemoveOrgAdmin = []string{"Admin", "OrgAdminOrgIdCheck"} ad.GetOrgAdmins = []string{"Admin", "OrgAdmin"} ad.IsTokenAdmin = []string{"Admin", "MultipleAccountOwner", "OrgAdmin"} t.Save = []string{"Admin"} t.GetAllTokens = []string{"Admin", "OrgAdmin"} t.Update = []string{"Admin"} t.GetTokenDecimals = []string{"Admin", "OrgAdmin"} t.GetTokensByName = []string{"Admin", "OrgAdmin"} t.AddRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.RemoveRoleMember = []string{"Admin", "OrgAdminRoleCheck"} t.IsInRole = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} t.GetTotalMintedTokens = []string{"Admin", "OrgAdmin"} t.GetNetTokens = []string{"Admin", "OrgAdmin"} t.Get = []string{"Admin", "OrgAdmin"} t.GetTokenHistory = []string{"Admin", "OrgAdmin"} a.CreateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} a.AssociateToken = []string{"Admin", "OrgAdminAccountIdCheck"} a.GetAllAccounts = []string{"Admin"} a.GetAllOrgAccounts = []string{"Admin", "OrgAdminOrgIdCheck"} a.GetAccount = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.History = []string{"Admin", "AccountOwner"} a.GetAccountTransactionHistory = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountTransactionHistoryWithFilters = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetSubTransactionsById = []string{"Admin", "TransactionInvoker"} a.GetSubTransactionsByIdWithFilters = []string{"Admin", "TransactionInvoker"} a.GetAccountBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountOnHoldBalance = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetOnHoldIds = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} a.GetAccountsByUser = []string{"Admin", "OrgAdminOrgIdCheck", "MultipleAccountOwner"} as.Get = []string{"Admin", "OrgAdminAccountIdCheck", "AccountOwner"} as.ActivateAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.SuspendAccount = []string{"Admin", "OrgAdminOrgIdCheck"} as.DeleteAccount = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetAccountsByRole = []string{"Admin"} r.GetUsersByRole = []string{"Admin"} r.GetOrgAccountsByRole = []string{"Admin", "OrgAdminOrgIdCheck"} r.GetOrgUsersByRole = []string{"Admin", "OrgAdminOrgIdCheck"} tc.InitializeExchangePoolUser = []string{"Admin"} tc.AddConversionRate = []string{"Admin"} tc.UpdateConversionRate = []string{"Admin"} tc.GetConversionRate = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.GetConversionRateHistory = []string{"Admin", "OrgAdmin", "AnyAccountOwner"} tc.TokenConversion = []string{"Admin", "AnyAccountOwner"} tc.GetExchangePoolUser = []string{"Admin"}
-
AddOrgAdmin
- 이 메소드는 사용자를 조직의
Org Admin
로 추가합니다. -
RemoveOrgAdmin
- 이 방법은 조직의
Org Admin
인 사용자를 제거합니다. -
GetOrgAdmins
- 이 메소드는 조직의
Org Admin
인 모든 사용자 목록을 반환합니다. -
AddTokenAuditor
- 이 메소드는 사용자를 체인코드의
Token Auditor
로 추가합니다. -
RemoveTokenAuditor
- 이 메소드는 사용자를 체인코드의
Token Auditor
로 제거합니다. -
GetTokenAuditors
- 이 메소드는 체인 코드의 모든
Token Auditors
를 반환합니다. -
AddOrgAuditor
- 이 메소드는 사용자를 체인코드의
Org Auditor
로 추가합니다. -
RemoveOrgAuditor
- 이 메소드는 사용자를 체인코드의
Org Auditor
로 제거합니다. -
GetOrgAuditors
- 이 메소드는 체인 코드의 모든
Org Auditors
를 반환합니다.
토큰 구성 관리 방법
-
Save
- 이 메소드는 토큰을 생성하고 해당 속성을 상태 데이터베이스에 저장합니다.
-
Update
- 이 메소드는 토큰 속성을 업데이트합니다. 토큰 자산이 생성된 후에는
token_desc
값과 해당 사용자정의 속성만 업데이트할 수 있습니다. -
GetTokenDecimals
- 이 메소드는 소수 토큰에 사용할 수 있는 소수 자릿수를 반환합니다.
divisible
동작이 지정되지 않은 경우 기본값은 0입니다. -
Get
- 이 메소드는 상태 데이터베이스에 있는 경우 토큰 객체를 반환합니다. 이 메소드는 토큰 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. -
History
- 이 메소드는 지정된 토큰 ID에 대한 토큰 기록을 반환합니다.
-
GetAllTokens
- 이 메소드는 상태 데이터베이스에 저장된 모든 토큰 자산을 반환합니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
-
GetTokensByName
- 이 메소드는 지정된 이름을 가진 모든 토큰 자산을 반환합니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
-
IsTokenType
- 이 메소드는 지정된 토큰 ID에 대한 토큰 자산이 존재하는지 여부를 테스트합니다.
-
GetByRange
- 이 메소드는 내부적으로 패브릭
getStateByRange
메소드를 호출합니다. 지정된 ID의 자산이 원장에서 반환되더라도 이 메소드는 자산을 호출자 자산 유형으로 변환합니다.
계정 관리 방법
-
GenerateAccountId
- 이 메소드는
oaccount~<token asset name>~
접두어가 붙은 영숫자 문자 집합인 계정 ID와 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID(user_id
), 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자 ID(org_id
) 및 고유 토큰 ID(token_id
)의 해시를 반환합니다. -
CreateAccount
- 이 메소드는 지정된 사용자 및 토큰의 계정을 만듭니다. 토큰이 있는 모든 사용자는 계정을 가져야 합니다. 계정은 사용자의 잔액, 보류 중인 잔액 및 트랜잭션 내역을 추적합니다. 계정 ID는
oaccount~<token asset name>~
앞에 오는 영숫자 문자 집합으로, 인스턴스 소유자 또는 인스턴스에 로그인한 사용자의 사용자 이름 또는 전자메일 ID(user_id
), 현재 네트워크 조직에 있는 사용자의 멤버쉽 서비스 제공자 ID(org_id
)가 해시됩니다. 이 메소드는 체인 코드의Token Admin
에 의해서만 호출될 수 있습니다. -
AssociateToken
- 이 방법은 대체 가능한 토큰을 계정에 연결합니다. 이 메소드는 체인 코드의
Token Admin
에 의해서만 호출될 수 있습니다. -
GetAccountWithStatus
- 이 방법은 계정 상태를 포함하여 지정된 계정에 대한 계정 세부정보를 반환합니다.
-
GetAccount
- 이 방법은 지정된 계정에 대한 계정 세부정보를 반환합니다.
-
GetAccountHistory
- 이 메소드는 지정된 계정에 대한 계정 기록 세부 정보의 배열을 반환합니다.
-
GetAccountOnHoldBalance
- 이 방법은 지정된 계정에 대한 보류 잔액을 반환합니다.
-
GetAllAccounts
- 이 방법은 모든 계정 목록을 반환합니다. 이 방법은 Berkeley DB SQL 리치 쿼리를 사용하며 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
-
GetUserByAccountId
- 이 메소드는 지정된 계정에 대한 사용자 세부 정보를 반환합니다.
-
GetAccountBalance
- 이 방법은 지정된 계정에 대한 계정 잔액을 반환합니다.
-
GetAllOrgAccounts
- 이 메소드는 지정된 조직에 속하는 모든 토큰 계정 목록을 반환합니다.
역할 관리 방법
-
AddRoleMember
- 이 메소드는 지정된 사용자 및 토큰에 롤을 추가합니다.
-
RemoveRoleMember
- 이 방법은 지정된 사용자 및 토큰에서 역할을 제거합니다.
-
GetAccountsByRole
- 이 메소드는 지정된 롤과 토큰에 대한 모든 계정 목록을 반환합니다.
-
GetUsersByRole
- 이 메소드는 지정된 롤 및 토큰에 대한 모든 사용자 목록을 반환합니다.
-
IsInRole
- 이 메소드는 사용자 및 토큰에 지정된 롤이 있는지 여부를 나타냅니다.
-
GetOrgAccountsByRole
- 이 방법은 지정된 조직에서 지정된 역할을 가진 모든 고객사에 대한 정보를 반환합니다.
-
GetOrgUsersByRole
- 이 메소드는 지정된 조직에서 지정된 롤을 가진 모든 사용자에 대한 정보를 반환합니다.
-
RoleCheck
- 이 방법은 제공된 계정 ID가 역할의 구성원인지 확인합니다.
트랜잭션 내역 관리 방법
-
GetAccountTransactionHistory
- 이 메소드는 지정된 계정에 대한 트랜잭션 기록 세부정보의 배열을 반환합니다.
-
GetAccountTransactionHistoryWithFilters
- 이 메소드는 지정된 트랜잭션에 대한 트랜잭션 기록 세부정보의 배열을 반환합니다. 이 방법은 원격 Oracle Blockchain Platform 네트워크에 연결된 경우에만 호출할 수 있습니다.
-
GetSubTransactionsById
- 이 메소드는 지정된 트랜잭션에 대한 트랜잭션 기록 세부정보의 배열을 반환합니다.
-
GetSubTransactionsByIdWithFilters
- 이 메소드는 지정된 트랜잭션에 대한 트랜잭션 기록 세부정보의 배열을 반환합니다.
-
GetTransactionById
- 이 메소드는
Transaction
자산의 내역을 반환합니다. -
DeleteHistoricalTransactions
- 이 방법은 상태 데이터베이스에서 이전 트랜잭션을 삭제합니다.
토큰 동작 관리 방법 - 실행 가능한 동작
-
Mint
- 이 메소드는 메소드의 호출자가 소유하는 토큰을 민트합니다. 호출자는 계정과 minter 롤을 가져야 합니다. 주석 처리할 수 있는 토큰 수는 사양 파일에서
mintable
동작의max_mint_quantity
속성에 의해 제한됩니다.max_mint_quantity
등록 정보가 지정되지 않은 경우 토큰을 개수 제한 없이 조롱할 수 있습니다. 수량은 사양 파일에서divisible
동작의decimal
매개변수에 의해 지정된 십진수 값 내에 있어야 합니다. 이 메소드는 minter 롤을 가진 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
GetTotalMintedTokens
- 이 메소드는 주조된 총 토큰 수를 반환합니다.
-
GetNetTokens
- 이 메소드는 지정된 토큰에 대해 시스템에서 사용할 수 있는 토큰의 순 수량을 반환합니다. 순 토큰은 토큰이 레코딩된 후 남은 토큰의 양입니다. 방정식 형식: net tokens = total minted tokens - total burned tokens. 토큰이 레코딩되지 않으면 순 토큰 수가 민트된 총 토큰 수와 같습니다.
-
GetMaxMintQuantity
- 이 메소드는 토큰에 대한 최대 민트 가능 수량을 반환합니다.
max_mint_quantity
동작이 지정되지 않은 경우 기본값은 0이며, 이를 통해 원하는 수의 토큰을 연동할 수 있습니다.
토큰 동작 관리 방법 - 이전 가능한 동작
-
Transfer
- 이 방법은 호출자의 토큰을 지정된 계정으로 전송합니다. 메소드 호출자는 계정을 가져야 합니다. 수량은 사양 파일에서
divisible
동작의decimal
매개변수에 의해 지정된 십진수 값 내에 있어야 합니다. 이 메소드는 계정의AccountOwner
에 의해서만 호출될 수 있습니다. -
BulkTransfer
- 이 메소드는 호출자 계정에서
flow
객체에 지정된 계정으로 토큰을 대량으로 전송합니다. 이 메소드의 호출자는 이미 생성된 계정을 가져야 합니다.
토큰 동작 관리 방법 - 보류 가능한 동작
-
Hold
- 이 방법은
to_account_id
계정을 사용하여 토큰 소유자를 대신하여 보류를 생성합니다. 공증 계정이 지정되어 보류를 완료하거나 해제합니다. 보류가 생성되면 지급인의 지정된 토큰 잔액이 보류됩니다. 보류가 완료되거나 해제될 때까지 보류 잔액을 이전할 수 없습니다. 이 메소드의 호출자는 이미 생성된 계정을 가져야 합니다. -
ExecuteHold
- 이 방법은 이전에 보류 중인 토큰의 지정된 수량을 수신자에게 이전하여 토큰 보류를 완료합니다.
quantity
값이 실제 보류 값보다 작은 경우 토큰의 원래 소유자가 나머지 금액을 다시 사용할 수 있습니다. 이 메소드는notary
롤을 가진AccountOwner
ID로만 호출할 수 있습니다. -
ReleaseHold
- 이 방법은 토큰 보류를 해제합니다. 전송이 완료되지 않았으며 모든 보유 토큰을 원래 소유자가 다시 사용할 수 있습니다. 이 메소드는 지정된 시간 제한 내에
notary
롤이 있는Account Owner
ID 또는 지정된 시간 제한 이후 지급인, 수취인 또는 공증인이 호출할 수 있습니다. -
GetOnHoldIds
- 이 메소드는 지정된 사용자 및 토큰에 대한 모든 보유 ID 목록을 반환합니다.
-
GetOnHoldDetailsWithOperationID
- 이 메소드는 지정된 작업 ID 및 토큰에 대한 보류 중인 트랜잭션 세부정보를 반환합니다.
-
GetOnHoldBalanceWithOperationID
- 이 메소드는 지정된 작업 ID 및 토큰에 대해 보류 중인 잔액을 반환합니다.
토큰 동작 관리 방법 - 굽기 가능 동작