프로젝트

일반

사용자정보

제안서(Proposal) » 이력 » 버전 1

이름없음, 2021/05/25 07:52

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