제안서(Proposal) » 이력 » 버전 10
이름없음, 2021/06/09 08:40
| 1 | 1 | 이름없음 | h1. 제안서(Proposal) |
|---|---|---|---|
| 2 | |||
| 3 | 6 | 이름없음 | 제안서 작성시 입력할 수 있는 필드 내용입니다 |
| 4 | |||
| 5 | 2 | 이름없음 | |_. key |_. type |_. note |_. description | |
| 6 | 1 | 이름없음 | | ProposalID | string | | 해당 제안서의 식별자 | |
| 7 | | Owner | string | | 해당 제안서의 등록자 | |
||
| 8 | 6 | 이름없음 | | Category | int[] | >0 | 수집할 개인정보 카테고리 목록 |
| 9 | "수집 개인정보":https://snplab.synology.me/confluence/pages/viewpage.action?pageId=27558064 참조 |
||
| 10 | 모든 양의 정수 사용 가능하며, 블록체인에서는 검증하지 않음 | |
||
| 11 | 2 | 이름없음 | | Purpose | int | | 제안서 사용 목적 |
| 12 | 0: 타겟 마케팅(Target Marketing) |
||
| 13 | 1: 예측 마케팅(Predictive Marketing) |
||
| 14 | 100: 데이터 거래 |
||
| 15 | 997: 추첨(sortilege) |
||
| 16 | 998: 이벤트2(999와 분리) |
||
| 17 | 8 | 이름없음 | 1001: LDP | |
| 18 | 2 | 이름없음 | | Filter | string | | 제안서 대상 필터 | |
| 19 | 6 | 이름없음 | | Condition | string | | 제안서 동의 필터 | |
| 20 | 1 | 이름없음 | | NotBefore | string | rfc3339 | 제안서의 유효기간 시작 일시 | |
| 21 | | NotAfter | string | rfc3339 | 제안서의 유효기간 종료 일시 | |
||
| 22 | | MaxIssuable | int | >0 | 제안서을 통해 등록할 수 있는 최대 티켓 수 | |
||
| 23 | 6 | 이름없음 | | Duration | string | duration or rfc3339 | 제안서을 통해 발행한 티켓의 유효 기간. 최대 주단위로 설정할 수 있다. 자세한 사용법은 아래 링크를 참고한다. |
| 24 | "time.duration in golang":https://golang.org/pkg/time/#Duration |
||
| 25 | 위 링크에서 정의된 h(시간) 외에 추가 단위로 아래와 같은 단위를 제공한다. (Month는 명확하지 않으므로 절대 시간 사용 권장) |
||
| 26 | 1 | 이름없음 | * *d : 일(24시간)* |
| 27 | * *w: 주(7일)* |
||
| 28 | * *M: 월(30일)* |
||
| 29 | 6 | 이름없음 | 상대적인 주기가 아니라 절대 시간을 duration으로 하고자 한다면 rfc3339 규격에 맞춘 문자열을 설정할 수 있다. |
| 30 | 계산 시작점은 TicketValidFrom이 설정되어 있을 경우 TicketValidFrom부터 계산하며, |
||
| 31 | TicketValidFrom이 존재하지 않을 경우 현재 시간(fabric transaction의 timestamp)부터 계산한다. | |
||
| 32 | 1 | 이름없음 | | ImageURL | string[] | optionaltagged-url | 제안서을 보여줄 때 사용할 이미지들의 URL | |
| 33 | | CreatedAt | string | rfc3339 | 제안서 등록 일시 | |
||
| 34 | | RevokedAt | string | optional, rfc3339 | 제안서 폐기 일시 | |
||
| 35 | | UpdatedAt | string | rfc3339index | 제안서 변경 일시등록, 활성화, 파기 등 모든 변경 케이스에 대한 시간 반영 | |
||
| 36 | 6 | 이름없음 | | Status | int | | 제안서 상태 |
| 37 | 0: 정상 (활성화됨) |
||
| 38 | 1: 활성화 전 |
||
| 39 | 2: 폐기됨 |
||
| 40 | 3. 만료됨 |
||
| 41 | 4. 사용완료 (MaxIssuable만큼 티켓이 발행됨) |
||
| 42 | 5. 기타 무효 상태(예비) | |
||
| 43 | 2 | 이름없음 | | Content | json object | untyped | 티켓이 참고할 내용 (개인정보 전달 경로, LDP 정보 등) | |
| 44 | 6 | 이름없음 | | RewardPolicy | json object (RewardPolicy) | typed | 리워드 지급 기준 |
| 45 | 1 | 이름없음 | RewardPolicy.Type: 지급 유형 |
| 46 | * 1: 티켓 소모 완료 시 |
||
| 47 | * 2: 티켓 소모 시마다 |
||
| 48 | 6 | 이름없음 | RewardPolicy.Amount: 한 티켓으로 지급할 수 있는 최대 금액 |
| 49 | * 데이터 단가 계산 식 : rewardPolicy.Amount / (consumePolicy.Count * consumePolicy.MaxDataCount) | |
||
| 50 | | ConsumePolicy | json object (ConsumePolicy) | typed | 티켓 소모(사용) 기준 |
||
| 51 | 1 | 이름없음 | ConsumePolicy.Type: 소모 유형 |
| 52 | * 1: 요청자(proposal.Owner)에 의해 소모 |
||
| 53 | 2 | 이름없음 | * 2: 티켓 발행자 자가소모(ticket.Owner) |
| 54 | ConsumePolicy.Count: 소모 횟수 |
||
| 55 | 6 | 이름없음 | ConsumePolicy.Period: 소모 주기 |
| 56 | ConsumePolicy.MaxDataCount: 1회 소모 시 수집 가능한 데이터 총량 |
||
| 57 | *1 consume당 지급 리워드 계산 식: min(1, (consumeContext.DataCount / consumePolicy.MaxDataCount) ) / consumePolicy.Count * rewardPolicy.Amount* | |
||
| 58 | 1 | 이름없음 | | Description | string[] | optional | 제안서을 보여줄 때 사용할 목적별 문구들 | |
| 59 | | Deposit | string | optional | Activate를 위해 deposit한 TokenID | |
||
| 60 | | Reserved | json object | optional, untyped | 예비 | |
||
| 61 | 2 | 이름없음 | | BindMap | BindMap | optional | 블록체인 내부 관리용 정보. 표시되지 않을 수 있으며,표시되어도 블록체인 외부에서는 사용하지 않는다. | |
| 62 | 1 | 이름없음 | | DisallowMultiIssue | bool | optional | true로 설정될 경우 동일 DID로 중복 issue를 허용하지 않는다.기본값 false (중복 issue 허용) | |
| 63 | 6 | 이름없음 | | TicketValidFrom | string | rfc3339,optional | 티켓 유효기간 시작 시각. 미설정시 즉시 시작 | |
| 64 | 1 | 이름없음 | |
| 65 | 2 | 이름없음 | h2(wiki-class-auto-cursor-target#wiki-id-Proposal-리워드지급기준). 리워드 지급 기준 |
| 66 | 1 | 이름없음 | |
| 67 | RewardPolicy |
||
| 68 | 2 | 이름없음 | |
| 69 | 1 | 이름없음 | |_. key |_. type |_. note |_. description | |
| 70 | | Type | int | | 지급 유형 |
||
| 71 | * 1: 티켓 소모 완료 시 |
||
| 72 | * 2: 티켓 소모 시마다 | |
||
| 73 | | Amount | int | >=0 | 티켓의 지급 가능 총량 | |
||
| 74 | |||
| 75 | 2 | 이름없음 | h2(#wiki-id-Proposal-티켓소모기준). 티켓 소모 기준 |
| 76 | 1 | 이름없음 | |
| 77 | ConsumePolicy |
||
| 78 | |||
| 79 | 2 | 이름없음 | |_. key |_. type |_. note |_. description | |
| 80 | 1 | 이름없음 | | Type | int | | 소모 유형 |
| 81 | * 1: 요청자(proposal.Owner)에 의해 소모 |
||
| 82 | 2 | 이름없음 | * 2: 티켓 발행자 자가소모(ticket.Owner) | |
| 83 | 1 | 이름없음 | | Count | int | >0 | 소모 허용 횟수 | |
| 84 | 6 | 이름없음 | | Period | string | duration,optional | 소모 주기(소모 간 최소 간격) |
| 85 | * 현재 일단위만 지원 (예: 하루 1번일 경우 1d로 지정) |
||
| 86 | 없을 경우 주기 체크하지 않음 | |
||
| 87 | | MaxDataCount | int | >0, optional | consume시 최대 데이터 소모 수 | |
||
| 88 | 1 | 이름없음 | |
| 89 | *an example of a LDP template* |
||
| 90 | |||
| 91 | 10 | 이름없음 | <pre><code class="java"> |
| 92 | { |
||
| 93 | "ProposalID" : "" , |
||
| 94 | "Owner" : "" , |
||
| 95 | "Category" :[ |
||
| 96 | 4, |
||
| 97 | 1, |
||
| 98 | 2 |
||
| 99 | ], |
||
| 100 | "Purpose" :0, |
||
| 101 | "Filter" : "*" , |
||
| 102 | "NotBefore" : "2020-12-14T14:37:43+09:00" , |
||
| 103 | "NotAfter" : "2020-12-24T15:37:43+09:00" , |
||
| 104 | "MaxIssuable" :3, |
||
| 105 | "Duration" : "2020-12-24T15:37:43+09:00" , |
||
| 106 | "ImageURL" :[ |
||
| 107 | "icon= https://cdn.snplab.io/images/snplab.png " , |
||
| 108 | "background= https://cdn.snplab.io/images/commonwallpaper.png " |
||
| 109 | ], |
||
| 110 | "Content" :{ |
||
| 111 | "endpoint" : "firebase url" , |
||
| 112 | "isItReal" : false , |
||
| 113 | "key" : "somewhat" , |
||
| 114 | "range" :[ |
||
| 115 | "0" , |
||
| 116 | "0.25" , |
||
| 117 | "0.50" , |
||
| 118 | "0.75" , |
||
| 119 | "1" |
||
| 120 | ], |
||
| 121 | "spinner" :0.1 |
||
| 122 | }, |
||
| 123 | "RewardPolicy" :{ |
||
| 124 | "Type" :1, |
||
| 125 | "Amount" :0 |
||
| 126 | }, |
||
| 127 | "ConsumePolicy" :{ |
||
| 128 | "Type" :2, |
||
| 129 | "Count" :1 |
||
| 130 | }, |
||
| 131 | "Description" :[ |
||
| 132 | "title=\"TEST LDP\"" , |
||
| 133 | "disclaimer=\"blahblah\"" |
||
| 134 | ], |
||
| 135 | "DisallowMultiIssue" : true |
||
| 136 | } |
||
| 137 | </code></pre> |