FEIP28V1_Team(en-US)
-
FEIP28: Team Version: 1 Language: en-US Author: C_armX, Deisler-JJ_Sboy Status: draft Created date: 2021-05-01 Last modified date:2021-05-01 File hash: "" TXid:
FEIP28V1_Team(en-US)
Contents
General rules of FEIP type protocols
Rules specific to this protocol
Update team consensus or description
Introduction
Protocol type: FEIP Serial number: 28 Protocol name: Team Version: 1 Description : 组建和管理一个团队 Author: C_armX, Deisler-JJ_Sboy Language: en-US Tags: FEIP, team, application protocol Previous version hash:""
General rules of FEIP type protocols
-
Write important data in OP_RETURN for public witness under FEIP type protocols
-
The max size of OP_RETURN : 4096 bytes
-
Format : compacted json
-
Encoding : utf-8
Rules specific to this protocol
- 任何cid,可以声明自己是一个团队,并发布团队的共识,由此成为tid。
- tid是cid的一个子集。
- tid也是团队的名称。
- tid可以解散自己,也可以更新共识或描述
- 团队的组织规则在共识中约定。
- 任何cid,可以向某tid发起加入申请,申请时需理解并签名认同该团队的共识。
- tid可以授权特定成员代为执行特定操作。
- tid或获得其授权者可以批准加入申请添加团队成员,或直接除名团队成员。
Create a team
由tid发送一笔交易,输出地址为本tid地址
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 6 operation: "create" Y 8 data.consHash string 1-32 sha256 value of the team consensus Y 9 data.desc string 1-2048 Description of this team Y Example of creating a team
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "create", "consHash": "1111111111122222222223333333333333334444444445555555555666666", "desc": "This is a test Team" } }
Disband a team
由tid发送一笔交易,输出地址为本tid地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 7 operation: "disband" Y Example of disbanding a team
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "disband" } }
Update team consensus or description
由tid发送一笔交易,输入与输出均为本tid地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 6 operation: "update" Y 8 data.consHash string 1-32 sha256 value of the team consensus Y 9 data.desc string 1-2048 Description of this team Y Example of updating a team
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "update", "consHash": "1111111111122222222223333333333333334444444445555555555666666", "desc": "New description for the test Team" } }
Apply to join in a team
由申请者向tid发送一笔交易。输出地址必须与“team”值一致。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 4 operation: "join" Y 8 data.consHash string 1-32 sha256 value of the team consensus Y Example of appling to join in a team
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "join", "consHash": "1111111111122222222223333333333333334444444445555555555666666" } }
Quit a team
由退出者发送一笔交易,第一个输入为退出者地址,第一个输出为想要退出的tid地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 4 operation: "quit" Y Example of appling to join in a team
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "quit" } }
Accept the new consensus
团队成员给tid发送一笔交易,第一个输入为成员地址,第一个输出为所在tid地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 6 operation: "accept" Y 8 data.consHash string 1-32 the sha256 value of the new team consensus Y 9 data.consTxid string 1-32 the txid of updating consensus Y Example of accepting new consensus
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "accept", "consHash": "1111111111122222222223333333333333334444444445555555555666666", "consTxid": "6666666666666666555555555444444444443333333333222222211111111" } }
Add members
tid或被授权者发送一笔交易给申请加入者们的地址。输出地址与addList一致,找零地址为第一个输入地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 3 operation: "add" Y 8 data.addList string array 1024 Addresses of the applicant Y 9 data.joinTxid string array 1048 Txids of the applications to join the team<br>One-to-one correspondence with the addresses in addList Y Example of adding members
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "add", "addList": [ "FCfcQA9VaCGNDoz3QqneMcFC8jTj3Cuuxc", "FCG7ohMm8xZmhPEpE8Eni2ghiZT5ha9iJw", "FFcY22BH2nyamDLdFWaDGwtKej9KdCKb51" ], "joinTxid": [ "1111111111122222222223333333333333334444444445555555555666666", "1111111111122222222223333333333333334444444445555555555666667", "1111111111122222222223333333333333334444444445555555555666668" ] } }
Delist members
tid或被授权者给被除名的所有地址发送交易。输出地址与deliList一致,找零地址为第一个输入地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 6 operation: "delist" Y 8 data.deliList string array 3096 Addresses to be delisted Y Example of delist members
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "delist", "deliList": [ "FCfcQA9VaCGNDoz3QqneMcFC8jTj3Cuuxc", "FCG7ohMm8xZmhPEpE8Eni2ghiZT5ha9iJw", "FFcY22BH2nyamDLdFWaDGwtKej9KdCKb51" ] } }
Authorize
tid向若干成员发送交易,授权其代理执行指定操作。输出地址与AuthList一致,找零地址为第一个输入地址。
只有“add”和“delist”可被授权。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 10 operation: "authorize" Y 8 data.authOps string array 3 or 6 "add" or “delist” or both Y 9 data.authList string array 512 the list of addresses being authorized Y Example of Authorize
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "authorize", "authOps": ["add","delist"], "authList": [ "FCfcQA9VaCGNDoz3QqneMcFC8jTj3Cuuxc", "FCG7ohMm8xZmhPEpE8Eni2ghiZT5ha9iJw", "FFcY22BH2nyamDLdFWaDGwtKej9KdCKb51" ] } }
Deauthorize
tid向若干成员发送交易,取消对其所做的所有授权。输出地址与DeauList一致,找零地址为第一个输入地址。
op_return内容为:field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 2 Serial number<br>Fixed: 28 Y 3 ver int 1 Fixed: 1 Y 4 name String 4 Fixed: "Team"<br>Case insensitive N 5 hash hex 32 Sha256 value of this protocol file N 6 data.team string 34 the address of the team Y 7 data.op string 12 operation: "deauthorize" Y 8 data.deauList string array 512 the list of addresses being deauthorized Y Example of Deauthorize
{ "type": "FEIP", "sn": 28, "ver": 1, "name": "Team", "hash": "", "data":{ "team": "F111111111112222222222222", "op": "deauthorize", "deauList": [ "FCfcQA9VaCGNDoz3QqneMcFC8jTj3Cuuxc", "FCG7ohMm8xZmhPEpE8Eni2ghiZT5ha9iJw", "FFcY22BH2nyamDLdFWaDGwtKej9KdCKb51" ] } }
-