FEIP1V6_FreeProtocol(en-US)
-
FEIP1: FreeProtocol Version: 6 Language: en-US Author: C_armX, Deisler-JJ_Sboy Status: draft Created date: 2021-02-5 Last modified date:2021-11-27 File hash: "" TXid:
FEIP1V6_FreeProtocol(en-US)
Contents
General consensus of FEIP type protocols
consensus specific to this protocol
Introduction
Protocol type: FEIP Serial number: 1 Protocol name: FreeProtocol Version number: 6 Description : Register, unregister or evaluate protocols freely by writing data in OP_RETURN. Author: C_armX, Deisler-JJ_Sboy Language: en-US Tags: FEIP, free protocol, basic protocol Previous version hash:"bd0429aaf6d7784958a36473f2f925d8d2ca76125cc610adf2afb1956a1d56b2"
General consensus 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
Consensus of this protocol
-
Pid is the unique identity of a protocol, which is the double sha256 value of the protocol file.
-
Title in protocol text: type + serial number + "V" + version number +'_' + protocol name + '(' + language + ')', e.g.: FEIP3V4_CID(en-US)
-
Anyone can send a transaction to register a protocol by writing data in the format given by Register .
-
Anyone can only update his/her own protocols by writing data in the format given by Update.
-
Anyone can only unregister his/her own protocols by writing data in the format given by Unregister.
-
Anyone can evaluate any protocol by writing data in the format given by Rate.
-
The registered protocol can be updated or cancelled, but cannot be registered again unless it has been unregistered.
Register
Register a protocol by send a transaction, the OP_RETURN of which contains the data as follows:
field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 1 Serial number<br>Fixed: 1 Y 3 ver int 1 Fixed: 6 Y 4 name String 18 Fixed:"FreeProtocol"<br>Case insensitive N 5 hash string 64 double sha256 of this file N 6 data.type String 8 Type of the protocol being registered. N 7 data.sn String 8 Serial number of the protocol being registered, counting from 1. N 8 data.ver String 4 Version number of the protocol being registered. counting from 1. N 9 data.name String 128 Name of the protocol being registered. N 10 data.desc String 512 Short description of the protocol being registered. N 11 data.authors String array 256 FCH addresses of the authors of the protocol being registered. N 12 data.pid string 64 The double sha256 value of the protocol file being registered.<br> Y 13 data.lang String 5 The language of the protocol being registered, formatted with i18n(internationalization),such as "en-US". N 14 data.op String 8 Fixed: "register"<br>Case insensitive Y 15 data.tags String array 128 Tags about the protocol being registered. N 16 data.prePid string 64 Double sha256 value of the previous version protocol file. N 17 data.fileUrl String array 1024 Locations to find the protocol file. N Register Example:
{ "type": "FEIP", "sn": 1, "ver": 6, "name": "FreeProtocol", "hash": "", "data": { "type": "FEIP", "sn": 3, "ver": 4, "name": "CID", "desc": "Register or unregister a human friendly identity for an address.", "authors": ["FPL44YJRwPdd2ipziFvqq6y2tw4VnVvpAv","FS2AWq1dgdhCpNTwqfBbMBBJGNNj1LSboy","FLx88wdsbLQyZRmbqtpeXA9u5FG9EyCash"], "hash": "1403e5b7100d8e24724f12cd1ea0b722086c02250a7c66b711947f14546cfcfd", "lang": "zh-CN", "op": "register", "tags": ["FEIP", "CID", "identity", "human friendly", "basic protocol"], "prePid":"bd0429aaf6d7784958a36473f2f925d8d2ca76125cc610adf2afb1956a1d56b2", "fileUrl": ["https://github.com/freecashorg/FEIP/FEIP3_CID/"] } }
Update
Update a protocol by send a transaction. The data.op is changed from "register" to "update", other data formats are the same as the register data format. All field contents will be updated when updating.
field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 1 Serial number<br>Fixed: 1 Y 3 ver int 1 Fixed: 6 Y 4 name String 18 Fixed:"FreeProtocol"<br>Case insensitive N 5 hash string 64 double sha256 of this file N 6 data.type String 8 Type of the protocol being registered. N 7 data.sn String 8 Serial number of the protocol being registered, counting from 1. N 8 data.ver String 4 Version number of the protocol being registered. counting from 1. N 9 data.name String 128 Name of the protocol being registered. N 10 data.desc String 512 Short description of the protocol being registered. N 11 data.authors String array 256 FCH addresses of the authors of the protocol being registered. N 12 data.pid string 64 The double sha256 value of the protocol file being registered.<br> Y 13 data.lang String 5 The language of the protocol being registered, formatted with i18n(internationalization),such as "en-US". N 14 data.op String 6 Fixed: "update"<br>Case insensitive Y 15 data.tags String array 128 Tags about the protocol being registered. N 16 data.prePid string 64 Double sha256 value of the previous version protocol file. N 17 data.fileUrl String array 1024 Locations to find the protocol file. N Update Example:
{ "type": "FEIP", "sn": 1, "ver": 6, "name": "FreeProtocol", "hash": "", "data": { "type": "FEIP", "sn": 3, "ver": 4, "name": "CID", "desc": "Register, update or unregister a human friendly identity for an address.", "authors": ["FPL44YJRwPdd2ipziFvqq6y2tw4VnVvpAv","FS2AWq1dgdhCpNTwqfBbMBBJGNNj1LSboy","FLx88wdsbLQyZRmbqtpeXA9u5FG9EyCash"], "hash": "1403e5b7100d8e24724f12cd1ea0b722086c02250a7c66b711947f14546cfcfd", "lang": "zh-CN", "op": "update", "tags": ["FEIP", "CID", "identity", "human friendly", "basic protocol"], "prePid":"bd0429aaf6d7784958a36473f2f925d8d2ca76125cc610adf2afb1956a1d56b2", "fileUrl": ["https://github.com/freecashorg/FEIP/FEIP3_CID/"] } }
Unregister
Unregister a protocol by send a transaction, the OP_RETURN of which contains the data as follows:
field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 1 Serial number<br>Fixed: 1 Y 3 ver int 1 Fixed: 6 Y 4 name String 18 Fixed:"FreeProtocol"<br>Case insensitive N 5 hash string 64 double sha256 of this file N 6 data.pid string 64 The double sha256 value of the protocol file being registered.<br> Y 7 data.op String 10 Fixed: "unregister"<br>Case insensitive Y Unregister Example:
{ "type": "FEIP", "sn": 1, "ver": 6, "name": "FreeProtocol", "hash": "", "data": { "hash": "bd0429aaf6d7784958a36473f2f925d8d2ca76125cc610adf2afb1956a1d56b2", "op": "unregister" } }
Rate
Evaluate a protocol by send a transaction, the OP_RETURN of which contains the data as follows:
field number field name type length content required 1 type String 4 Fixed: "FEIP"<br>Case insensitive Y 2 sn int 1 Serial number<br>Fixed: 1 Y 3 ver int 1 Fixed: 6 Y 4 name String 18 Fixed:"FreeProtocol"<br>Case insensitive N 5 hash string 64 double sha256 of this file N 6 data.pid string 64 The double sha256 value of the protocol file being registered.<br> Y 7 data.op String 4 Fixed: "rate"<br>Case insensitive Y 8 data.rate int 1 Rating of the service from 0 to 5 Y Rate Example:
{ "type": "FEIP", "sn": 1, "ver": 6, "name": "FreeProtocol", "hash": "", "data": { "hash": "1403e5b7100d8e24724f12cd1ea0b722086c02250a7c66b711947f14546cfcfd", "op": "rate", "rate": 4 } }
-
-
@昌用 协议里的json 格式不对,每个键名都应该用英文半角引号括起来,键值如果是字符串,也要用英文半角引号括起来。
-
@昌用 2月7日,自由共识生态启动全面升级,在保持自由开放的前提下,实现标准化、国际化。对于自由共识生态的自由演进、海外扩展和去中心化具有重要意义。《FEIP1V6_FreeProtocolSystem(en-US)》草案率先发布,该协议在《FEIP1V5_自由协议(zh-CN)》基础上升级,是整个协议系统的基础协议。欢迎生态对协议草案进行审阅,相关意见可以在github上提交,也可以在bbs.cash发表。https://github.com/freecashorg/FEIP/blob/master/FEIP1/FEIP1V6.md
——————