포럼 번역 10

DAML script createCmd 문법

Q 다음과 같이 초기화 코드 스크립트를 작성하려고합니다. submit alice do createCmd Product with isProcessed = False description = "Coffee for Starbucks" owner = alice ... 오류가 발생합니다 (첫 번째‘=’아래에 강조 표시됨). 하지만 한 줄에 세미콜론으로 모두 할당하면 사라집니다. submit alice do createCmd Product with isProcessed = False; description = "Coffee for Starbucks"; owner = alice; 코드에 많은 필드가 있기 때문에 이것은 이상적이지 않습니다. 줄 바꿈에 어떻게 할당 할 수 있습니까? N.B : 줄 바꿈 + 세미콜론에서도..

포럼 번역 2020.10.07

유효한 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

플랫 트랜잭션 스트림(flat transaction stream)에서 트랜잭션 내 이벤트 순서 지정

Q 안녕하세요, 'com.daml.ledger.api.v1.TransactionService'의 플랫 트랜잭션 스트림(flat transaction stream)에서 이벤트 순서에 대한 보장이 있는지 궁금합니다. 다음 상황을 고려해주세요. 1. 계약 키가 있는 템플릿과 해당 템플릿의 계약 하나가 있습니다. 2. 트랜잭션에서 이제 해당 계약을 보관하고 동일한 키로 새 계약을 만듭니다. 여기서 순서가 중요합니다. 먼저 새 계약을 만든 다음 기존 계약을 보관하면 거래가 실패합니다. 이벤트 목록에서 계약 생성전 아카이브를 볼 수 있습니까? A 이 경우 대답은 간단히 “예”입니다. 모든 거래는 순서가 정해진 행동의 모음(ordered forest of actions)입니다. 거래의 일부를 서명하는 ..

포럼 번역 2020.09.21

DABL은 다른 배포 플랫폼과 어떻게 다릅니까?

Q 1. DABL에서 유효성 검사 메커니즘은 어떻게 작동합니까? 2. DABL에 합의 알고리즘 개념이 있습니까? 만약 존재하는 경우 어떤 종류의 합의 알고리즘들을 사용합니까? 3. DABL의 평균 트랜잭션 처리량은 얼마입니까? A 현재 DABL은 Postgre에서 Sandbox(클래식)를 운영하고 있다. SQL은 컨센서스 알고리즘이 없는 중앙집중식 아키텍처를 가지고 있으며, 중앙 집중식 아키텍처에서의 유효성 검사는 그다지 중요하지 않습니다. DABL의 트랜잭션 처리량에 대한 수치가 있는지 확실하지 않습니다. Ledger API 테스트 도구에는 몇 가지 성능 테스트 기능이 있습니다. 그러나 Ledger API 테스트 도구는 DABL에서 액세스 할 수없는 gRPC Legder API에 대해 실행됩니다. 일반..

포럼 번역 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

DAML 오라클

"Oracle"은 분산 원장 플랫폼에서 가격, 날씨 또는 시간과 같은 외부 정보를 제공하는 모든 종류의 서비스에 대한 매우 광범위한 용어입니다. 여기서 "사용 가능하게 만든다"는 것은 정보를 다른 계약에서 사용할 수 있도록 스마트 계약에 저장하는 것을 의미합니다. 가장 간단한 형태의 Oracle은 원장에서 데이터 유형을 사용할 수 있는 단일 (신뢰할 수 있는) 당사자 일뿐입니다. template WeatherReport with weatherService : Party location : Location time : Time weather : Weather subscribers : [Party] where signatory weatherService observer subscribers 완전한 오라클은 ..

포럼 번역 2020.09.21