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