TECH 10

금융 라이브러리 - 파트2

금융 라이브러리에 대한이 DAML 마스터 클래스의 두 부분으로 구성된 하위 시리즈의 첫 번째 부분에서 금융 라이브러리 응용 프로그램을 리버스 엔지니어링 하기 시작했습니다. 여기에서 5 개의 큰 아이디어를 확인했고, 그중 첫 번째 부분에서 3 개를 제시했다. 나머지 두 가지 아이디어가 있습니다. 빅 아이디어 # 4 : 동적 서명자 집합 (a dynamic set of signatories) 때로는 계약에 동적 서명자 집합이 있어야 합니다. 이는 서명자가 계약의 선택을 미리 승인하기 때문에 중요할 수 있습니다. 이 메커니즘은 간단한 제안/수락 패턴으로도 작동하므로 여러 당사자가 서명 한 계약을 생성할 수 있습니다. 일반적으로 제안/수락 패턴은 다음과 같이 작동합니다. 제안 계약에는 서명자를 설정하는 변수가 ..

블로그 2020.10.06

금융 라이브러리 — 파트 1

DAML Masterclass 시리즈의 두 번째 부분입니다. 아래 목록에서 다른 부분을 참조하십시오. * DAML을 사용하는 애플리케이션에서 영감을 얻는 방법 이 시리즈에서는 내 프로젝트에 대한 영감을 얻기 위해 DAML 마켓 플레이스에 제공되는 DAML 전문가가 작성한 여러 고급 애플리케이션을 리버스 엔지니어링 합니다. 만약 일부 금융 refapp를 분석을 해봤다면, 일부는 DAML Marketplace에서 사용할 수 있는 Finance Library라는 라이브러리를 사용한다는 것을 알 수 있습니다. 그래서 먼저 이것을 잘 살펴보겠습니다. 금융 라이브러리(Finance Library)에는 내가 코드를 읽기 전에는 생각하지 못했던 여러 가지 고급 아이디어가 포함되어 있어, 나는 가장 유용하다고 판단한 것..

블로그 2020.10.06

DAML을 사용하는 애플리케이션에서 영감을 얻는 방법

DAML은 블록체인 및 중앙 집중식 데이터베이스에서 실행할 수 있는 트랜잭션 중심의 분산 비즈니스 애플리케이션을 만들기 위한 도메인 별 스마트 계약 언어입니다. DAML의 혁신적인 기능 중 하나는 여러 당사자가 서명한 디지털 계약을 사용하여 사용 사례를 구축할 수 있다는 것입니다. 따라서 계약서가 전통적인 비즈니스 세계 및 정부에서 처럼 사전 허가 및 권한 위임의 표현을 훨씬 더 빠르고 오류율가 없는 형태로 표현할 수 있습니다. 예를 들어, 관련 기관 및 당국과 일련의 디지털 상호작용을 통해 가상 운전 면허증을 취득할 수 있다고 상상해보십시오. 그 결과, 필요한 모든 당사자가 서명한 운전 자격에 대한 "계약"을 취득할 수 있으며, 계약서의 담당 공무원을 관찰자로 지정하여 경찰에 이를 보여줄 수 있습니다...

블로그 2020.10.06

아키텍처 개요 및 가정(Assumptions)

Caton 0.18.x 버전을 기준으로 작성되어 있습니다. 여기에서 가정(Assumptions)이란 Canton시스템 구축을위한 밑바탕이 되는 조건들이 준비되어 있는 전제를 가정합니다. 개요 및 가정 이 섹션에서는 Canton아키텍처의 개요및 엔터티(신뢰 도메인 정의) 그리고 구성 요소를 설명합니다. 이후 서로 다른 엔티티에 대한 신뢰 가정과 통신 링크(communication links)에 대한 가정을 설명합니다. Canton은 높은 수준의 요구사항을 충족하도록 설계되었습니다. 이글을 읽는 사용자는 스마트 계약 언어 DAML 및 DA 원장 모델의 계층적 트랜잭션에 익숙하다고 가정합니다. Canton 101 기본 예제 Canton의 작동 방식에 대한 배경 지식을 제공하기 위해 간단한 DVP(deliver..

기술자료/Canton 2020.09.23

유효한 daml 변수 이름

Q daml의 유효한 변수 이름과 일치하는 정규식을 정의하려고 합니다. 예를 들어 alice 허용되는 반면 허용 Alice 되지 않습니다. 나는 이렇게 이해하고 있습니다. : ^[a-z][a-zA-Z0-9'_]*$ 맞습니까? A DAML은 여기에 설명된 변수 이름에 대한 Haskell 구문을 따릅니다. varId에 대한 정의가 올바른 것입니다 (기호 중위 연산자 무시). 당신이 생각하는것에 가깝습니다. 유니 코드 문자를 무시하면 올바른 정규식은^[a-z_][a-zA-Z0-9'_]*$ 입니다. 물론 대소문자와 같은 예약 키워드는 제외되므로 정확하지는 않지만 충분합니다. 원문 : Valid daml variable names https://discuss.daml.com/t/valid-daml-..

포럼 번역 2020.09.23

새로운 (해시 기반) 계약 ID 체계의 이점

Q SDK 버전 1.0.0부터 계약ID 체계가 변경되었습니다. 계약 식별자는 시퀀스 번호 대신 해시입니다. 사용자 관점에서 볼 때 새로운 체계의 이점은 무엇입니까? 예 : - 계약 ID로 수행할 수 있는 새로운 작업 (및 이것이 중요한 이유) - 더 나은 보안 속성 이 변경에 동기를 부여한 다른 우려 사항 (사용자에게 보이지 않음)이 있습니까? A 계약 ID를 불투명한 블록으로 간주하여 계약을 추적할 수 없도록 함으로써 보안성 강화가 주목적 이전 SDK에서 계약 ID는 원장에서 트랜잭션을 커밋하기 전이지만 DAML 평가 후 할당된 원장별 문자열이었습니다. 구체적으로, DAML 프로그램을 평가하는 동안 엔진은 빌드 중인 트랜잭션 내에서 생성된 계약을 식별하기 위해 특수 자리 표시자(상대 계약 ID라고 함)..

포럼 번역 2020.09.21

잠재적 서명자에 대한 적합한 디자인 패턴

Q 몇 가지 잠재적인 서명자 중 하나가 될 수 있는 서명인이 있는 템플릿을 사용하는 데 가장 적합하거나 가장 많이 사용되는 패턴은 무엇입니까? (Jean, Pierre 또는 Paul 중 한 사람이 계약서의 서명자 일 수 있습니다. 가능합니까?) A1 러한 종류의 것은 권한 부여 측면에서 구현할 수 있지만 그룹 / 역할에 대한 변경 사항이 (불변) 계약을 통해 전파되어야 하므로 현재 개인 정보 / 가시성 측면에서 까다 롭습니다. 그러한 변화가 영향을 미칩니다. 가시성 문제를 무시하고 다음을 구현할 수 있습니다. template TradeApproverGroup with admins : Set Party members : Set Party groupName : Text where signatory admin..

포럼 번역 2020.09.21

DAML에는 자체 상호 운용성 계층이 있습니까? 아니면 Canton DAML이 상호 운용성 계층입니까?

Q DAML에는 자체 상호 운용성 계층이 있습니까? 아니면 Canton DAML이 상호 운용성 계층입니까? A 두가지 질문에 대해 “예”라고 대답하고 싶습니다. Canton 프로토콜은 DAML의 상호 운용성 계층입니다. Canton 커미터(committers) 및 중재자(mediators)는 DAML 원장에 대한 합의 및 데이터 교환을 제공하기 위해 서로 다른 블록체인 / DLT에서 실행할 수 있습니다. 참여자 노드는 그러한 많은 DAML 원장에 연결하고 이들을 통해 거래할 수 있으므로 진정한 상호 운용성을 제공합니다. 원문 : Does DAML have its own interoperability layer or is Canton DAML’s interoperability layer? https://d..

포럼 번역 2020.09.21

명령 완료(completion service) 스트림에서 OK 해석

Q 분산 설정에서 완료 스트림에 대한 OK 응답은 트랜잭션이 네트워크에 성공적으로 커밋되었음을 의미합니까 (즉, 합의가 이루어졌는지)? 아니면 명령이 내 노드에서 성공적으로 검증되고 커밋을 위해 네트워크에 제출되었음을 나타내는 것일 뿐입니까? A 명령 완료(completion service) 에 대한 OK 는 트랜잭션이 커밋 되었음을 의미합니다. 후자는 명령이 로컬 참여자 노드에서 검증되고 실행되었음을 의미합니다. 트랜잭션이 생성되어 분산된 커밋을 위해 원장으로 전송되고 참가자가 상태에 대한 업데이트를 받으면 완료 서비스가 실제 결과를 알려줍니다. 제출 서비스(submission service)에서는 성공적인 결과가 돌아오고 완료 서비스(completion service)에서 성공적인 커밋을 관찰 할 수..

포럼 번역 2020.09.21

복수의 명령을 단일 submission로 제출했을때 트랜잭션 결과

Q CommandSubmission 서비스를 사용하여 동일한 submission에서 여러 명령을 제출하면 모든 명령의 이벤트가 포함된 단일 트랜잭션이 생성됩니까? 아니면 각 명령이 자체 트랜잭션으로 돌아올까요? 하나의 큰 트랜잭션에서 여러 명령을 제출할지 아니면 작은 트랜잭션으로 분리할지 결정할 때 성능 고려 사항이 있습니까? A 단일 제출(submission)은 항상 단일 트랜잭션으로 이어집니다. 그리고 성능 고려 사항이 있습니다. 500개의 생성(create) 명령(command)을 사용하는 단일 제출은 각각 하나의 생성 명령을 사용하는 500 개의 제출보다 훨씬 빠릅니다. 동기화 및 합의를 포함한 원장 왕복은 비용이 많이 듭니다. 단일 트랜잭션이 실제로 훨씬 더 빠르기는 하지만 성능상의 이유로 대규..

포럼 번역 2020.09.21