Merge remote-tracking branch 'origin/dev_rc_jdk13_1.3.1' into dev_rc_jdk13_1.3.1

# Conflicts:
#	json/genesis.json
This commit is contained in:
jiangbuyun 2021-11-10 17:45:07 +08:00
commit 69241b993c
8 changed files with 239 additions and 226 deletions

View File

@ -23,7 +23,7 @@
- install [protobuf editor](https://github.com/Enide/polyglot-maven-editors)——编辑protobuf定义工具非必须
## 分层架构
![RepChain分层架构图](https://images.gitee.com/uploads/images/2020/0115/170029_4e469133_1598833.png "分层架构图.png")
![RepChain系统分层图](https://images.gitee.com/uploads/images/2021/1108/113550_715354a6_1598833.png "RepChain系统分层图.png")
- 数据层负责数据格式定义数据结构采用Protocol Buffers定义文件并以此为基础实现数据的交换、验证、存储、读取及检索
- 网络层采用JDK内置的TLS实现支持入网许可验证在此基础上进行去中心化的gossip组网网络传播支持P2P和Pub/Sub两种方式
- 共识层完成区块的输入共识和输出共识。采用兼顾实时性和安全性的CFRD算法既照顾到交易的实时性要求又能在一定程度防止节点串通作弊输入共识对入块的交易顺序达成一致输出共识对交易顺序执行的结果达成一致

View File

@ -2,7 +2,7 @@
"version" : 1,
"height" : "1",
"transactions" : [ {
"id" : "9bfb01f7-6344-4b63-bc24-6c25afc0008f",
"id" : "df772f5c-d26a-4bab-ab54-dd3ccb16a88c",
"type" : "CHAINCODE_DEPLOY",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -10,7 +10,7 @@
},
"spec" : {
"timeout" : 5000,
"codePackage" : "package rep.sc.tpl.did\n\nimport org.json4s.DefaultFormats\nimport org.json4s.jackson.JsonMethods.parse\nimport rep.protos.peer._\nimport rep.sc.scalax.{ContractContext, ContractException, IContract}\nimport rep.sc.tpl.did.operation.AuthOperation.AuthorizeStatus\nimport rep.sc.tpl.did.operation.CertOperation.CertStatus\nimport rep.sc.tpl.did.operation.OperOperation.OperateStatus\nimport rep.sc.tpl.did.operation.SignerOperation.SignerStatus\nimport rep.sc.tpl.did.operation.{AuthOperation, CertOperation, OperOperation, SignerOperation}\nimport scalapb.json4s.JsonFormat\n\n\n/**\n * @author zyf\n */\nobject RdidOperateAuthorizeTPL {\n\n\n}\n\n/**\n * @author zyf\n */\nclass RdidOperateAuthorizeTPL extends IContract {\n\n object ACTION {\n\n object Signer {\n val signUpSigner = \"signUpSigner\"\n val updateSigner = \"updateSigner\"\n val updateSignerStatus = \"updateSignerStatus\"\n }\n\n object Certificate {\n val signUpCertificate = \"signUpCertificate\" // 无需授权\n val updateCertificateStatus = \"updateCertificateStatus\" // 无需授权\n val signUpAllTypeCertificate = \"signUpAllTypeCertificate\" // 需授权\n val updateAllTypeCertificateStatus = \"updateAllTypeCertificateStatus\" // 需授权\n }\n\n object Authorize {\n val grantOperate = \"grantOperate\"\n val updateGrantOperateStatus = \"updateGrantOperateStatus\"\n val bindCertToAuthorize = \"bindCertToAuthorize\"\n }\n\n object Operate {\n val signUpOperate = \"signUpOperate\"\n val updateOperateStatus = \"updateOperateStatus\"\n }\n\n }\n\n\n implicit val formats = DefaultFormats\n\n def init(ctx: ContractContext): Unit = {\n println(s\"tid: $ctx.t.id\")\n }\n\n def onAction(ctx: ContractContext, action: String, sdata: String): ActionResult = {\n\n // 两种序列化方式,如果复杂的 pb 结构体(比如带有枚举类型),则只能使用 pb 自带的 json 序列化方式\n val param = parse(sdata)\n val parser = JsonFormat.parser\n type AuthorizeJString = String\n\n action match {\n case ACTION.Signer.signUpSigner =>\n SignerOperation.signUpSigner(ctx, parser.fromJsonString(sdata)(Signer))\n\n case ACTION.Signer.updateSignerStatus =>\n SignerOperation.updateSignerStatus(ctx, param.extract[SignerStatus])\n\n case ACTION.Certificate.signUpCertificate =>\n CertOperation.signUpCertificate(ctx, parser.fromJsonString(sdata)(Certificate))\n\n case ACTION.Certificate.updateCertificateStatus =>\n CertOperation.updateCertificateStatus(ctx, param.extract[CertStatus])\n\n case ACTION.Certificate.signUpAllTypeCertificate =>\n CertOperation.signUpAllTypeCertificate(ctx, parser.fromJsonString(sdata)(Certificate))\n\n case ACTION.Certificate.updateAllTypeCertificateStatus =>\n CertOperation.updateAllTypeCertificateStatus(ctx, param.extract[CertStatus])\n\n case ACTION.Operate.signUpOperate =>\n OperOperation.signUpOperate(ctx, parser.fromJsonString(sdata)(Operate))\n\n case ACTION.Operate.updateOperateStatus =>\n OperOperation.updateOperateStatus(ctx, param.extract[OperateStatus])\n\n case ACTION.Authorize.grantOperate =>\n AuthOperation.grantOperate(ctx, param.extract[List[AuthorizeJString]])\n\n case ACTION.Authorize.bindCertToAuthorize =>\n AuthOperation.bindCertToAuthorize(ctx, parser.fromJsonString(sdata)(BindCertToAuthorize))\n\n case ACTION.Authorize.updateGrantOperateStatus =>\n AuthOperation.updateGrantOperateStatus(ctx, param.extract[AuthorizeStatus])\n\n case _ =>\n throw ContractException(JsonFormat.toJsonString(ActionResult(100000, \"没有对应的方法\")))\n }\n }\n}\n",
"codePackage" : "package rep.sc.tpl.did\r\n\r\nimport org.json4s.DefaultFormats\r\nimport org.json4s.jackson.JsonMethods.parse\r\nimport rep.protos.peer._\r\nimport rep.sc.scalax.{ContractContext, ContractException, IContract}\r\nimport rep.sc.tpl.did.operation.AuthOperation.AuthorizeStatus\r\nimport rep.sc.tpl.did.operation.CertOperation.CertStatus\r\nimport rep.sc.tpl.did.operation.OperOperation.OperateStatus\r\nimport rep.sc.tpl.did.operation.SignerOperation.SignerStatus\r\nimport rep.sc.tpl.did.operation.{AuthOperation, CertOperation, OperOperation, SignerOperation}\r\nimport scalapb.json4s.JsonFormat\r\n\r\n\r\n/**\r\n * @author zyf\r\n */\r\nobject RdidOperateAuthorizeTPL {\r\n\r\n\r\n}\r\n\r\n/**\r\n * @author zyf\r\n */\r\nclass RdidOperateAuthorizeTPL extends IContract {\r\n\r\n object ACTION {\r\n\r\n object Signer {\r\n val signUpSigner = \"signUpSigner\"\r\n val updateSigner = \"updateSigner\"\r\n val updateSignerStatus = \"updateSignerStatus\"\r\n }\r\n\r\n object Certificate {\r\n val signUpCertificate = \"signUpCertificate\" // 无需授权\r\n val updateCertificateStatus = \"updateCertificateStatus\" // 无需授权\r\n val signUpAllTypeCertificate = \"signUpAllTypeCertificate\" // 需授权\r\n val updateAllTypeCertificateStatus = \"updateAllTypeCertificateStatus\" // 需授权\r\n }\r\n\r\n object Authorize {\r\n val grantOperate = \"grantOperate\"\r\n val updateGrantOperateStatus = \"updateGrantOperateStatus\"\r\n val bindCertToAuthorize = \"bindCertToAuthorize\"\r\n }\r\n\r\n object Operate {\r\n val signUpOperate = \"signUpOperate\"\r\n val updateOperateStatus = \"updateOperateStatus\"\r\n }\r\n\r\n }\r\n\r\n\r\n implicit val formats = DefaultFormats\r\n\r\n def init(ctx: ContractContext): Unit = {\r\n println(s\"tid: $ctx.t.id\")\r\n }\r\n\r\n def onAction(ctx: ContractContext, action: String, sdata: String): ActionResult = {\r\n\r\n // 两种序列化方式,如果复杂的 pb 结构体(比如带有枚举类型),则只能使用 pb 自带的 json 序列化方式\r\n val param = parse(sdata)\r\n val parser = JsonFormat.parser\r\n type AuthorizeJString = String\r\n\r\n action match {\r\n case ACTION.Signer.signUpSigner =>\r\n SignerOperation.signUpSigner(ctx, parser.fromJsonString(sdata)(Signer))\r\n\r\n case ACTION.Signer.updateSignerStatus =>\r\n SignerOperation.updateSignerStatus(ctx, param.extract[SignerStatus])\r\n\r\n case ACTION.Certificate.signUpCertificate =>\r\n CertOperation.signUpCertificate(ctx, parser.fromJsonString(sdata)(Certificate))\r\n\r\n case ACTION.Certificate.updateCertificateStatus =>\r\n CertOperation.updateCertificateStatus(ctx, param.extract[CertStatus])\r\n\r\n case ACTION.Certificate.signUpAllTypeCertificate =>\r\n CertOperation.signUpAllTypeCertificate(ctx, parser.fromJsonString(sdata)(Certificate))\r\n\r\n case ACTION.Certificate.updateAllTypeCertificateStatus =>\r\n CertOperation.updateAllTypeCertificateStatus(ctx, param.extract[CertStatus])\r\n\r\n case ACTION.Operate.signUpOperate =>\r\n OperOperation.signUpOperate(ctx, parser.fromJsonString(sdata)(Operate))\r\n\r\n case ACTION.Operate.updateOperateStatus =>\r\n OperOperation.updateOperateStatus(ctx, param.extract[OperateStatus])\r\n\r\n case ACTION.Authorize.grantOperate =>\r\n AuthOperation.grantOperate(ctx, param.extract[List[AuthorizeJString]])\r\n\r\n case ACTION.Authorize.bindCertToAuthorize =>\r\n AuthOperation.bindCertToAuthorize(ctx, parser.fromJsonString(sdata)(BindCertToAuthorize))\r\n\r\n case ACTION.Authorize.updateGrantOperateStatus =>\r\n AuthOperation.updateGrantOperateStatus(ctx, param.extract[AuthorizeStatus])\r\n\r\n case _ =>\r\n throw ContractException(JsonFormat.toJsonString(ActionResult(100000, \"没有对应的方法\")))\r\n }\r\n }\r\n}\r\n",
"ctype" : "CODE_SCALA",
"cclassification" : "CONTRACT_SYSTEM"
},
@ -19,11 +19,11 @@
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.048Z",
"signature" : "MEQCIBS0iKKcM9+kAbuXEFwVp+rLmhGtjbUVPH3z7x/DabUFAiAEAfUKY7pVWja8W09cZUKsyfXNm32sUFHlILWQ5iFB3Q=="
"tmLocal" : "2021-11-08T09:21:23.858Z",
"signature" : "MEQCIACWaiByuFS5Y/y6xrk2ZyIURdebUCwJUCT+bRnRbpJ/AiBNfdHr2IzoT2Kkv7t2ZD9JjGXkYah+6wpM7NH/K4Vhdg=="
}
}, {
"id" : "00f281e0-0a41-4277-8452-7ccc4eea579f",
"id" : "2b6dba32-07f9-4456-a6e7-14199a429e45",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -31,18 +31,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"super_admin\",\"creditCode\":\"951002007l78123233\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBYzCCAQigAwIBAgIEXe8B6zAKBggqhkjOPQQDAjA5MREwDwYDVQQKDAhyZXBj\\naGFpbjEOMAwGA1UECwwFaXNjYXMxFDASBgNVBAMMC3N1cGVyX2FkbWluMB4XDTE5\\nMTIxMDAyMjQ0M1oXDTIwMTIwOTAyMjQ0M1owOTERMA8GA1UECgwIcmVwY2hhaW4x\\nDjAMBgNVBAsMBWlzY2FzMRQwEgYDVQQDDAtzdXBlcl9hZG1pbjBZMBMGByqGSM49\\nAgEGCCqGSM49AwEHA0IABK9m+cb8jaYQ+ts/hK4INuQbOwAwoIhVa3uaRxsOsgoR\\n+QaPuwcZAIbGWSa9bn8oGjSBDQutmE5XONbdiDwPRtwwCgYIKoZIzj0EAwIDSQAw\\nRgIhAKZto+39OFced9YDaXYkOLrLcKD+8RbF57vzHpJrnFd1AiEAhNEK8MOsAlhM\\neRZmlXsq4KsvQFs+Wav9N9qJ+GGRpCs=\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.151Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"951002007l78123233\",\"certName\":\"super_admin\"},\"certHash\":\"574b99f7d2915afe386f5fcd147778e6990a1082e9b4a006ac3da958ff80757d\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.151Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"super_admin\",\"creditCode\":\"951002007l78123233\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBYzCCAQigAwIBAgIEXe8B6zAKBggqhkjOPQQDAjA5MREwDwYDVQQKDAhyZXBj\\r\\naGFpbjEOMAwGA1UECwwFaXNjYXMxFDASBgNVBAMMC3N1cGVyX2FkbWluMB4XDTE5\\r\\nMTIxMDAyMjQ0M1oXDTIwMTIwOTAyMjQ0M1owOTERMA8GA1UECgwIcmVwY2hhaW4x\\r\\nDjAMBgNVBAsMBWlzY2FzMRQwEgYDVQQDDAtzdXBlcl9hZG1pbjBZMBMGByqGSM49\\r\\nAgEGCCqGSM49AwEHA0IABK9m+cb8jaYQ+ts/hK4INuQbOwAwoIhVa3uaRxsOsgoR\\r\\n+QaPuwcZAIbGWSa9bn8oGjSBDQutmE5XONbdiDwPRtwwCgYIKoZIzj0EAwIDSQAw\\r\\nRgIhAKZto+39OFced9YDaXYkOLrLcKD+8RbF57vzHpJrnFd1AiEAhNEK8MOsAlhM\\r\\neRZmlXsq4KsvQFs+Wav9N9qJ+GGRpCs=\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:24.388Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"951002007l78123233\",\"certName\":\"super_admin\"},\"certHash\":\"ccbe4431fc1914a3dc19ba32914dbcdb360f74ab450b474c6cae044cf6f8d0a7\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:24.388Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.622Z",
"signature" : "MEYCIQDKpWHp9qlUk+/1Q0+JRvCeP+q08z/+JNoyC6xf5veIHwIhAK+yQ5JGXB/iF1UBUS8jOa+9baUA2aRstk2BUWNb9il5"
"tmLocal" : "2021-11-08T09:21:25.226Z",
"signature" : "MEUCIQDB7vXDq45YLRHjAM1xQQX39PlaLJBYNB0rnvgmvbU22wIgN+7uwOcAFcf63ZpqheidFAMZgIt64edgorZ8IXCTuNc="
}
}, {
"id" : "0fc3cd33-304e-4077-82c2-e5475c65ab2d",
"id" : "6e5bf274-dcdf-4b19-bcea-0d9afdc09544",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -50,18 +50,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"node1\",\"creditCode\":\"121000005l35120456\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBTDCB9KADAgECAgRd7wBCMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMTAeFw0xOTEyMTAwMjE3Mzha\\nFw0yMDEyMDkwMjE3MzhaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\nc2NhczEKMAgGA1UEAwwBMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJu7PT4Z\\ns5hqqNha9SrP60TecIDVYGry0v6ayV5lP8w5FJ2UtRECrpUxuoO2pfaHfxyYIXCZ\\nA8w7YaZU0s4CEfcwCgYIKoZIzj0EAwIDRwAwRAIgcAxkxmiNexPx8CF+DvII7168\\neeVcfsJwoMcFFLKCWrECICSIkc9vC6Vwze3s2UwBuIiSlwNxZ0YDJcdlbcmESWHy\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.634Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"121000005l35120456\",\"certName\":\"node1\"},\"certHash\":\"e6e6e8495cf9eeabce5b463820d4005dc0314c594c119789f3d8da0c6542db26\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.634Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"node1\",\"creditCode\":\"121000005l35120456\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBTDCB9KADAgECAgRd7wBCMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\r\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMTAeFw0xOTEyMTAwMjE3Mzha\\r\\nFw0yMDEyMDkwMjE3MzhaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\r\\nc2NhczEKMAgGA1UEAwwBMTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJu7PT4Z\\r\\ns5hqqNha9SrP60TecIDVYGry0v6ayV5lP8w5FJ2UtRECrpUxuoO2pfaHfxyYIXCZ\\r\\nA8w7YaZU0s4CEfcwCgYIKoZIzj0EAwIDRwAwRAIgcAxkxmiNexPx8CF+DvII7168\\r\\neeVcfsJwoMcFFLKCWrECICSIkc9vC6Vwze3s2UwBuIiSlwNxZ0YDJcdlbcmESWHy\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:25.409Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"121000005l35120456\",\"certName\":\"node1\"},\"certHash\":\"2d0ed6d54daeafb0ac47eb58a367710e93cae5eda2007ff4938aca893d50ba3a\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:25.409Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.635Z",
"signature" : "MEUCIDaGw3eqJJJ92ZhuxZHIRe44r4RMS4IHGuluGp3dS57aAiEAmaUJ8B1QPwI+TopVE9msV4mv4O76SLNc6B5eEwYdUwk="
"tmLocal" : "2021-11-08T09:21:25.410Z",
"signature" : "MEQCIHrmjL/GiuCmhacqR5P+55thqqa++YLmvy9mLguz8HK5AiB+1hIfFDI0ettREUnb+wGNExuIiOQkFb2KFPtqwhnrsA=="
}
}, {
"id" : "bc0e1b61-13e0-457f-a798-3cb7b33c5922",
"id" : "2458eb1a-536b-4e51-8387-3a4c3ad5fab7",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -69,18 +69,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"node2\",\"creditCode\":\"12110107bi45jh675g\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBTTCB9KADAgECAgRd7wDfMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMjAeFw0xOTEyMTAwMjIwMTVa\\nFw0yMDEyMDkwMjIwMTVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\nc2NhczEKMAgGA1UEAwwBMjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIqbpyaG\\nr7ST/JsS86YBzlG/S3WqyXBCk00OvUfGcynwJt8m0vUnj8Z5QxNtsTUtMilzVayn\\nB7dVpeM1rFB/bGEwCgYIKoZIzj0EAwIDSAAwRQIhAKzfA6yHLF57HoEk+aVRCVpv\\nvAvvQZuHKkYdzS7/TeXjAiBCtWh8sRO4kXjn9e8H0GHxmt+zQPHTr5UJt0b47BDB\\nlg==\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.642Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"12110107bi45jh675g\",\"certName\":\"node2\"},\"certHash\":\"ff1a363137a9c696c128c75bbb0fa93427ed79c245ae9a6552b3df1e16e7b20b\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.642Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"node2\",\"creditCode\":\"12110107bi45jh675g\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBTTCB9KADAgECAgRd7wDfMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\r\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMjAeFw0xOTEyMTAwMjIwMTVa\\r\\nFw0yMDEyMDkwMjIwMTVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\r\\nc2NhczEKMAgGA1UEAwwBMjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIqbpyaG\\r\\nr7ST/JsS86YBzlG/S3WqyXBCk00OvUfGcynwJt8m0vUnj8Z5QxNtsTUtMilzVayn\\r\\nB7dVpeM1rFB/bGEwCgYIKoZIzj0EAwIDSAAwRQIhAKzfA6yHLF57HoEk+aVRCVpv\\r\\nvAvvQZuHKkYdzS7/TeXjAiBCtWh8sRO4kXjn9e8H0GHxmt+zQPHTr5UJt0b47BDB\\r\\nlg==\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:25.422Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"12110107bi45jh675g\",\"certName\":\"node2\"},\"certHash\":\"a8fadcb90fa834be3187ce32f7c81df6f83765259389dede15c2faa25700bfbf\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:25.422Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.643Z",
"signature" : "MEUCIQCjphqw+ywDDhBfvTfHVWreFj3V7idRuxTWUCcnFx+msgIgPLz2hQ01l9zQOOq+dZLutqksYGH0HlRcYR+9A5hhnUQ="
"tmLocal" : "2021-11-08T09:21:25.423Z",
"signature" : "MEUCICnkdDTypmcGPsoDvsakMqNZf2Bjl7VWA72SqRgwH75uAiEA1ICmaXtTs1bv6j7ESjUqOiMElLJc1PVZz2fRGWmuLZ4="
}
}, {
"id" : "6fb07176-0680-4b81-9428-a2629967f94d",
"id" : "8e4313a3-3743-43ee-b173-a5553685fb7b",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -88,18 +88,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"node3\",\"creditCode\":\"122000002n00123567\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBTDCB9KADAgECAgRd7wElMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMzAeFw0xOTEyMTAwMjIxMjVa\\nFw0yMDEyMDkwMjIxMjVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\nc2NhczEKMAgGA1UEAwwBMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHemUcIh\\nMpmOiWcbw5BBorqD+0LHaBzYVyKeYj2Sk3HR1M/JIb3R40xHEQbJPdb3SrgClSt6\\nLBiYiNENQBBJLw0wCgYIKoZIzj0EAwIDRwAwRAIgHX8epaHLqyPcNEj+fdD9zn/u\\nj8juebSZq42IRBAYTm0CICy+hKIZyVkNxPjV3tR+k+DjaWrDFSio57VuBbD8Cwvx\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.649Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"122000002n00123567\",\"certName\":\"node3\"},\"certHash\":\"bd366ff11687127b0a2108a83fe283e2abfd247d74b849674723f71692129f2d\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.649Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"node3\",\"creditCode\":\"122000002n00123567\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBTDCB9KADAgECAgRd7wElMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\r\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBMzAeFw0xOTEyMTAwMjIxMjVa\\r\\nFw0yMDEyMDkwMjIxMjVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\r\\nc2NhczEKMAgGA1UEAwwBMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHemUcIh\\r\\nMpmOiWcbw5BBorqD+0LHaBzYVyKeYj2Sk3HR1M/JIb3R40xHEQbJPdb3SrgClSt6\\r\\nLBiYiNENQBBJLw0wCgYIKoZIzj0EAwIDRwAwRAIgHX8epaHLqyPcNEj+fdD9zn/u\\r\\nj8juebSZq42IRBAYTm0CICy+hKIZyVkNxPjV3tR+k+DjaWrDFSio57VuBbD8Cwvx\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:25.427Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"122000002n00123567\",\"certName\":\"node3\"},\"certHash\":\"2347f43c1d3939064a051a5baced620121bcd45e3272ff8e7f4ac5e6faab3d0d\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:25.427Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.649Z",
"signature" : "MEQCIBjrp4esC9eO/8pf5D4FaJ7rAewRQiFy2nzpye5kckv3AiA9MsXLKeTmP2POnFWNN7yTvBjsY9nOxF4hE/Vtvz502g=="
"tmLocal" : "2021-11-08T09:21:25.428Z",
"signature" : "MEYCIQDkahu2B1/5YG0VdUeCQXV/WgARdSLLirPU78FqCRhJUQIhAKxfaoK0QG0URuMAAtKhtI/+AqQSnqhPUkV1nYaM/Dgg"
}
}, {
"id" : "4f13662c-41e7-4f9d-8e71-176f51e6e398",
"id" : "440fd8e6-6fc2-4edc-a190-3960689e9b2f",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -107,18 +107,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"node4\",\"creditCode\":\"921000005k36123789\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBTTCB9KADAgECAgRd7wFdMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBNDAeFw0xOTEyMTAwMjIyMjFa\\nFw0yMDEyMDkwMjIyMjFaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\nc2NhczEKMAgGA1UEAwwBNDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAjzZaK8\\nUAvLLIpYgH3IVoezCK/sOz+BG1vb19BEdhbPJA/r1xBuDKG1DK9qIVSbAvfHrioH\\nNiceJs6Mym9TgYcwCgYIKoZIzj0EAwIDSAAwRQIgcaGwPxUC//H+yQFRq16m9aZp\\naYwh+NwRs1SQ9USC170CIQCgTXpMxcTbfsKWiPY7QsTGCHn/c0+XS3nVIR2FWno5\\nBg==\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.655Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"921000005k36123789\",\"certName\":\"node4\"},\"certHash\":\"6c82fd97dfc8553660a40c6d20b4ebd16de33921010990f4da7ee145c3b48298\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.655Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"node4\",\"creditCode\":\"921000005k36123789\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBTTCB9KADAgECAgRd7wFdMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\r\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBNDAeFw0xOTEyMTAwMjIyMjFa\\r\\nFw0yMDEyMDkwMjIyMjFaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\r\\nc2NhczEKMAgGA1UEAwwBNDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAjzZaK8\\r\\nUAvLLIpYgH3IVoezCK/sOz+BG1vb19BEdhbPJA/r1xBuDKG1DK9qIVSbAvfHrioH\\r\\nNiceJs6Mym9TgYcwCgYIKoZIzj0EAwIDSAAwRQIgcaGwPxUC//H+yQFRq16m9aZp\\r\\naYwh+NwRs1SQ9USC170CIQCgTXpMxcTbfsKWiPY7QsTGCHn/c0+XS3nVIR2FWno5\\r\\nBg==\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:25.432Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"921000005k36123789\",\"certName\":\"node4\"},\"certHash\":\"ec8e9a62f9d134d5415e1fa4c5deb68222161c44aecf4bd57dbff94e70f0d471\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:25.432Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.656Z",
"signature" : "MEYCIQDAWj8Wyy1kTMtkUgrRcuQxKopdOIu9u5kF0MCRspMm9AIhAN2fJwrJ/zUHYbbz/ll0xjib6Xpia7SCLKJd4Q9Up+eU"
"tmLocal" : "2021-11-08T09:21:25.433Z",
"signature" : "MEUCIGrrOouao3Gsa6BtMyEn4K0EutD1r5nPAIAK/c3PlzeDAiEA7mSCC33N4nDJ9RDgL2UKJS8F/vz5zmOeFMSNlFc1UFQ="
}
}, {
"id" : "d525a40f-013e-4cd1-be6e-4b0590af3f01",
"id" : "bd46324c-26ff-4b24-89c7-f907d361a163",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -126,18 +126,18 @@
},
"ipt" : {
"function" : "signUpSigner",
"args" : [ "{\"name\":\"node5\",\"creditCode\":\"921000006e0012v696\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\nMIIBTTCB9KADAgECAgRd7wGTMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBNTAeFw0xOTEyMTAwMjIzMTVa\\nFw0yMDEyMDkwMjIzMTVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\nc2NhczEKMAgGA1UEAwwBNTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNVDTgfE\\nOQaHL8uQd6Zb4VqQQOuuz/f12zIKQ9QcMaRs87H1o3JBoydjUHSV6e60tXtHt1Ty\\nvaswF9EfMooKpaYwCgYIKoZIzj0EAwIDSAAwRQIhAIHfXVE5IuR73YubAG2gvtZS\\nBHb0TBNri/dYEiCTYP6JAiBBpr0Ssf468NQo74ZjpZmnPBQ88fQApE9RA5WGPAY0\\niA==\\n-----END CERTIFICATE-----\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-07T06:19:08.660Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"921000006e0012v696\",\"certName\":\"node5\"},\"certHash\":\"885bdc9926bfb4db673f28f8428e0b6b4a26a6a5d3e3b16e602e645cb97516f8\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-07T06:19:08.660Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"name\":\"node5\",\"creditCode\":\"921000006e0012v696\",\"mobile\":\"18912345678\",\"authenticationCerts\":[{\"certificate\":\"-----BEGIN CERTIFICATE-----\\r\\nMIIBTTCB9KADAgECAgRd7wGTMAoGCCqGSM49BAMCMC8xETAPBgNVBAoMCHJlcGNo\\r\\nYWluMQ4wDAYDVQQLDAVpc2NhczEKMAgGA1UEAwwBNTAeFw0xOTEyMTAwMjIzMTVa\\r\\nFw0yMDEyMDkwMjIzMTVaMC8xETAPBgNVBAoMCHJlcGNoYWluMQ4wDAYDVQQLDAVp\\r\\nc2NhczEKMAgGA1UEAwwBNTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNVDTgfE\\r\\nOQaHL8uQd6Zb4VqQQOuuz/f12zIKQ9QcMaRs87H1o3JBoydjUHSV6e60tXtHt1Ty\\r\\nvaswF9EfMooKpaYwCgYIKoZIzj0EAwIDSAAwRQIhAIHfXVE5IuR73YubAG2gvtZS\\r\\nBHb0TBNri/dYEiCTYP6JAiBBpr0Ssf468NQo74ZjpZmnPBQ88fQApE9RA5WGPAY0\\r\\niA==\\r\\n-----END CERTIFICATE-----\\r\\n\",\"algType\":\"SHA256withECDSA\",\"certValid\":true,\"regTime\":\"2021-11-08T01:21:25.440Z\",\"certType\":\"CERT_AUTHENTICATION\",\"id\":{\"creditCode\":\"921000006e0012v696\",\"certName\":\"node5\"},\"certHash\":\"1b0d84ee421d01928d2ea29dd40fddb17579f63b2de3bb6536311dcb41a6bdeb\",\"version\":\"1.0\"}],\"createTime\":\"2021-11-08T01:21:25.440Z\",\"signerValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.661Z",
"signature" : "MEQCIGZ2xaDLyuACtKPAyDlsWMYcwDFvdLOvAw8MUiOb0w/iAiBOfmixBJSGHmYxTiuVWzcC6TnXsUL6xmoAXGqHPTUEIQ=="
"tmLocal" : "2021-11-08T09:21:25.441Z",
"signature" : "MEUCIQDp5QQ/knxZicL0OnbNBQLlBcG7s5aupcdURy45emFENwIgJJ3/UTzSgRq+3rQ8Q1BcOrV7/TQhpT0sxTvGkV2IAuk="
}
}, {
"id" : "b424e271-68c7-4af5-9efd-824ee1fa3818",
"id" : "4b4774a0-93f6-48fc-8dd4-6387588a1189",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -145,18 +145,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"7d93aeecec616f7f36e3333d0a9264366f36c563a10c978f159b034824898808\",\"description\":\"注册RDID\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpSigner\",\"createTime\":\"2021-11-07T06:19:08.689Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"7d93aeecec616f7f36e3333d0a9264366f36c563a10c978f159b034824898808\",\"description\":\"注册RDID\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpSigner\",\"createTime\":\"2021-11-08T01:21:25.468Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.696Z",
"signature" : "MEQCIBFrd0NYsHgsEKRXPXnceOhCMQ0L2ABGcWo4Y8XCid1/AiAZ+jdS5XV6ocazTY9WRSPXMrwBiDlZ2xdznqr019mTzA=="
"tmLocal" : "2021-11-08T09:21:25.531Z",
"signature" : "MEYCIQD5XIBiYPPBQruJaXfWJh2UikcuZtJPE7qmagCQ2/NHzAIhAPDTz6xcYt6R3DAF2Odv3hrLSR/5em8TAfOb4Iwx/ZxU"
}
}, {
"id" : "76e50c02-ccbf-4330-a295-895741c7c6da",
"id" : "8ab0c6dc-903c-4824-ae2d-25f04b440bac",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -164,18 +164,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"122fd24a7b84f3b9f8a91c0bfd31910a655de38d040aba44f874d9bbb3e8f777\",\"description\":\"禁用或启用RDID\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateSignerStatus\",\"createTime\":\"2021-11-07T06:19:08.699Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"122fd24a7b84f3b9f8a91c0bfd31910a655de38d040aba44f874d9bbb3e8f777\",\"description\":\"禁用或启用RDID\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateSignerStatus\",\"createTime\":\"2021-11-08T01:21:25.532Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.699Z",
"signature" : "MEQCIE9XUwCLSw5QH1pbIpvE5pyTGSJe10ugf3kvs+2vH7AVAiA/kG/kVO/gDSSCvkWOVxaQ5UGLueH5UyAx5IQVTMc94g=="
"tmLocal" : "2021-11-08T09:21:25.533Z",
"signature" : "MEQCIQCYT968RoOkAVS8Q1/gwCbdfWsPRIztbCD/0hpLfrzicAIfdVu5zuiSbIDnfO1L8cvVw6OrymHUK88pcHVP/e8vAQ=="
}
}, {
"id" : "04134107-accb-49e1-9297-9fb2a83b7f37",
"id" : "dca6f364-4271-4195-ba4b-4ee962093f69",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -183,18 +183,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"345148e45a3cbd72783b453f072c08af60e7f692b0882eeb2ede98b4ff10a9dc\",\"description\":\"更新信息\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateSigner\",\"createTime\":\"2021-11-07T06:19:08.701Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"345148e45a3cbd72783b453f072c08af60e7f692b0882eeb2ede98b4ff10a9dc\",\"description\":\"更新信息\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateSigner\",\"createTime\":\"2021-11-08T01:21:25.536Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.701Z",
"signature" : "MEQCIBxg7oOzYpeHllAAY/YjO1uokVrePpnFTTpupAzIXaudAiB+tIMuTf8cSz5se7CptSIiiDwZs/sIREhcIu4CqvaZEg=="
"tmLocal" : "2021-11-08T09:21:25.536Z",
"signature" : "MEUCIB60dRuzThHbtPWgIWOgTbWZGb2hYCfLmKWnl7RnJCAhAiEAzPOhDVPPjBwPreobQ1+nexEIbx3eHbBu0REFK7EcfxU="
}
}, {
"id" : "5b1ec335-d0fa-4f48-821b-d0e7d8d062e0",
"id" : "4216d662-8e3e-48ab-ba9e-3ef939d032c7",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -202,18 +202,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"c34b7ad979e0cddf1e0fff9140c4aebe5df4ea87dad8fa1e9fa0dd13ad3f55ee\",\"description\":\"用户注册证书\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpCertificate\",\"createTime\":\"2021-11-07T06:19:08.703Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"c34b7ad979e0cddf1e0fff9140c4aebe5df4ea87dad8fa1e9fa0dd13ad3f55ee\",\"description\":\"用户注册证书\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpCertificate\",\"createTime\":\"2021-11-08T01:21:25.538Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.703Z",
"signature" : "MEUCIBKDEZzmdekFeRkU3wbidtOc/NlK16D/7wUcEyFoyvgWAiEA/3ABXxDnjEf1deJC09ogd4WpFApOXB2/2ss/k+e/UPw="
"tmLocal" : "2021-11-08T09:21:25.539Z",
"signature" : "MEYCIQCpB4E9WAJBBw27C4G6Q/qVqLCM1bLrOldwLfqqk7yBKQIhAOXEy03VljrOzZMsK0LZZbnvTxTBT5GlU43cvhS+Qm3T"
}
}, {
"id" : "70af1f45-1b4e-48b9-b7e0-643ed6e6a999",
"id" : "82eb892c-8234-4cd0-a322-cc3c8f63d3c1",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -221,18 +221,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"5e0e7d0eb29e2e7b55926f32d358466b25eb09ebdd320a936c16898d2752b01a\",\"description\":\"用户禁用或启用证书\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateCertificateStatus\",\"createTime\":\"2021-11-07T06:19:08.706Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"5e0e7d0eb29e2e7b55926f32d358466b25eb09ebdd320a936c16898d2752b01a\",\"description\":\"用户禁用或启用证书\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateCertificateStatus\",\"createTime\":\"2021-11-08T01:21:25.540Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.706Z",
"signature" : "MEYCIQDpUHpQE0iA8UOa9kEq2CK+84J5BJSHUp619tiRcsEfsQIhAJXjj9HKHRnga6S/YNoHn4bAUoiXGXZRzafKPXOhOyxE"
"tmLocal" : "2021-11-08T09:21:25.541Z",
"signature" : "MEYCIQDZHLqr/6012Mge/vz19Hh2kOK1FyGl0U/QXVJDqOBL7wIhAPDEEJFayT6ZMTQpuna4at58lcJinB6erWLvxxyHs3Vf"
}
}, {
"id" : "520d5256-cb7c-4036-a1a4-f4fbde5b96fe",
"id" : "d7840497-a55f-433f-b4aa-3283b0521520",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -240,18 +240,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"7358803962fd55455211f2824c5376f342715fd358f4a24eaa06761ebf503c79\",\"description\":\"用户可为所有人注册证书,需授权\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpAllTypeCertificate\",\"createTime\":\"2021-11-07T06:19:08.709Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"7358803962fd55455211f2824c5376f342715fd358f4a24eaa06761ebf503c79\",\"description\":\"用户可为所有人注册证书,需授权\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpAllTypeCertificate\",\"createTime\":\"2021-11-08T01:21:25.543Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.709Z",
"signature" : "MEUCIQDHjNH2yXUSbhzfSRsylg45m+rrCkDUW7e9Uuwor7qxvAIgHUJTuyzn4cysi4pgL0CRmIi9Z4SFArkYprjHUNPuDro="
"tmLocal" : "2021-11-08T09:21:25.543Z",
"signature" : "MEUCIQCHLEldpUCfHdCq4P0paOWIwvrzL1GHY7f3ZEPPRgYHZAIgMMGkCugXuSdULrFMYgpQ8JLg7H5cd/2GBh0l7+Ng3Xs="
}
}, {
"id" : "3fc49a15-3a92-4b70-b015-9cd02ed03797",
"id" : "6efc5863-4d23-4315-aad9-95f8f207b851",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -259,18 +259,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"6b2c5c52c74ef82365b7898d8685c2523ecf0d049648135081e2972c96f9ae18\",\"description\":\"用户可为所有人禁用或启用证书需授权super_admin特殊处理\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateAllTypeCertificateStatus\",\"createTime\":\"2021-11-07T06:19:08.710Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"6b2c5c52c74ef82365b7898d8685c2523ecf0d049648135081e2972c96f9ae18\",\"description\":\"用户可为所有人禁用或启用证书需授权super_admin特殊处理\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateAllTypeCertificateStatus\",\"createTime\":\"2021-11-08T01:21:25.546Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.711Z",
"signature" : "MEQCIBagKdW/s7mCyVEDqefexMXwfTtwzYEMhhZlCxUbP06yAiAmyAZ6JhBZsGFDGVXJxZecbqteyevj5WyyiJ2C32iWFw=="
"tmLocal" : "2021-11-08T09:21:25.548Z",
"signature" : "MEYCIQDRYg0F4W+rJTxu2wPzdaLJDFiWutMbDEpdSnqBZrygegIhAI7XBuuDaxPsq8PC6I61RazY5ul7zpVBQ+eMfuMuqMtg"
}
}, {
"id" : "767f5f04-d004-4960-a0ee-d490c12d4112",
"id" : "82af91e8-2542-4965-a7fa-4182ab7b1c87",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -278,18 +278,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"01f66ad1019321a4986e903bf6d446f7460817528bd6ecf16f48cec17c6653cb\",\"description\":\"注册操作,自己注册自己\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpOperate\",\"createTime\":\"2021-11-07T06:19:08.713Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"01f66ad1019321a4986e903bf6d446f7460817528bd6ecf16f48cec17c6653cb\",\"description\":\"注册操作,自己注册自己\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.signUpOperate\",\"createTime\":\"2021-11-08T01:21:25.550Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.713Z",
"signature" : "MEUCIGBYqnXURD6yQNS1lHC3Qj++EKcoRevPNbwkDXhXsVxtAiEAuIz952d5BfEhTwNEgNtrneMm8W8y4K3hLd/Rj/rcob0="
"tmLocal" : "2021-11-08T09:21:25.551Z",
"signature" : "MEUCIBFldh70ZNhx/veK3kLIneHfZe0aU2Efe8QKPUvDYzO9AiEA9qXcXQc8YZmChsSyQVgnnNABsr1C9kux9vYLTSHoSUY="
}
}, {
"id" : "98920478-748a-47d2-aae3-30ccc735e14f",
"id" : "87d61f85-c475-49ed-b0e1-3dc90086322a",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -297,18 +297,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"d68a87979fba2d6de2cebed5820e605597a929cb0fd23d7a3fe9302babb33c3b\",\"description\":\"禁用或启用操作,自己更新自己名下的操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateOperateStatus\",\"createTime\":\"2021-11-07T06:19:08.715Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"d68a87979fba2d6de2cebed5820e605597a929cb0fd23d7a3fe9302babb33c3b\",\"description\":\"禁用或启用操作,自己更新自己名下的操作\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateOperateStatus\",\"createTime\":\"2021-11-08T01:21:25.553Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.715Z",
"signature" : "MEUCICaoheTmlN5d/vm6U7nkRtZTodP3R7sX3hax3qFXulZIAiEAo0xHlDayyx99EOv93s41tbORprH25SS/RIR91VSYTkA="
"tmLocal" : "2021-11-08T09:21:25.553Z",
"signature" : "MEUCIQCIKK63i/w5rPudutLGOqV7Dax7xxpW+Oxveb43jEz3vAIgLJDLxC94VDYVwIX934xuATssWVJRko3mB9ktBY3aRI0="
}
}, {
"id" : "01563920-f7f1-497b-9eec-95daae42f76f",
"id" : "38213be4-8fb4-463b-92d5-b954edc9c2f2",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -316,18 +316,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"ccc1e3d69eedfa68f70d60ed8820a64dada2d3b2c66dda72585c4444a16f2aa1\",\"description\":\"授权操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.grantOperate\",\"createTime\":\"2021-11-07T06:19:08.717Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"ccc1e3d69eedfa68f70d60ed8820a64dada2d3b2c66dda72585c4444a16f2aa1\",\"description\":\"授权操作\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.grantOperate\",\"createTime\":\"2021-11-08T01:21:25.556Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.717Z",
"signature" : "MEUCIQCd1pfOdhCsU7EBYFwxOkhwLJG7ID3X50AQgK29AeikEgIgS/qkj0aewaY0V/RRbcJBEyRnnFyyHZZs81lYFdpgrcw="
"tmLocal" : "2021-11-08T09:21:25.557Z",
"signature" : "MEUCIQCkImEwKJdlpMj98RNMkdhpU4U+Ar6e2gVqz7+wijc+agIgZ4X/SaLSsXwpLvyXnlucT+o4TyDUFdje8XN6oQPVWFA="
}
}, {
"id" : "949f8505-2587-4afd-8ad8-2a9fe7d1caed",
"id" : "d737b8f2-0386-4cec-a1ca-f50d1be706a5",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -335,18 +335,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"d74f17115a3c42f2de0214503fca50737a4135840f8e61c6db42d7bcd0cb7f15\",\"description\":\"禁用或启用授权\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateGrantOperateStatus\",\"createTime\":\"2021-11-07T06:19:08.719Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"d74f17115a3c42f2de0214503fca50737a4135840f8e61c6db42d7bcd0cb7f15\",\"description\":\"禁用或启用授权\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.updateGrantOperateStatus\",\"createTime\":\"2021-11-08T01:21:25.559Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.719Z",
"signature" : "MEYCIQDrOCTpFEVStcP1EAi/T5/BVl7KbuXpWtHNN/EH8u4V9gIhAKGqpQtZuSuh/4y3a5UQM+8zSgUfcZsVhgt1u65CtQZn"
"tmLocal" : "2021-11-08T09:21:25.560Z",
"signature" : "MEUCIQCN+UVnhfRScKuwB4SS0+OmrQXTqEY29o5qvc6sY9psEwIgdpfHzXiAIDsSztTvXwcz6FUOLBJvNd1j9QAh3zGNi+w="
}
}, {
"id" : "a30e8bdb-482c-4657-b5bf-fbaab0cfb0b2",
"id" : "ac9e91e0-926e-453f-80cd-160f977499bc",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -354,18 +354,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"62528762a01b0b5cdbedc6a0d50e12ac06805d466c0f4239dedf0f855b3c75bd\",\"description\":\"绑定证书到授权操作\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.bindCertToAuthorize\",\"createTime\":\"2021-11-07T06:19:08.720Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"62528762a01b0b5cdbedc6a0d50e12ac06805d466c0f4239dedf0f855b3c75bd\",\"description\":\"绑定证书到授权操作\",\"register\":\"951002007l78123233\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"RdidOperateAuthorizeTPL.bindCertToAuthorize\",\"createTime\":\"2021-11-08T01:21:25.563Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.721Z",
"signature" : "MEQCICtquiydzbfjIu34HPQoQVEA+hfNF0G5WEvBW/FICGTxAiA0fo8Z5SAC/3yIjP+mo1sWZgWvBvjLk4TQzdO0xoITEw=="
"tmLocal" : "2021-11-08T09:21:25.564Z",
"signature" : "MEUCIG/Kjcb7VFWGCBpJ3aonAQjJyOtEbDNKtx0etZddLmKFAiEA6wZK637VtnKjG9RikImGY6KYZ0GXG/ekM1E9qKBcrrM="
}
}, {
"id" : "c0b5deae-800c-4361-8a8d-701e1caa5d12",
"id" : "f1cffc06-0e0b-4fd3-aac7-9cae0e737d83",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -373,18 +373,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"d3f2db1d2ab212b967b6b61c7f74dc2247c1aa1e1172066617c3c1a0caa00056\",\"description\":\"发布合约操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"*.deploy\",\"createTime\":\"2021-11-07T06:19:08.723Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"d3f2db1d2ab212b967b6b61c7f74dc2247c1aa1e1172066617c3c1a0caa00056\",\"description\":\"发布合约操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"*.deploy\",\"createTime\":\"2021-11-08T01:21:25.566Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.723Z",
"signature" : "MEUCIF5YgTDi0Nmpyn5m50BAgOXmdlzXxZ0RU3O2nr1pUITwAiEAivax4HY5ogb9Kw6JIF3zkrskEDU6xGbf2T7LAm5EovM="
"tmLocal" : "2021-11-08T09:21:25.567Z",
"signature" : "MEQCIGJINXj1H5e6JxlG6nTn4OHZI1CmqUkERgwEOsCTEz58AiBDReo5PolKbuUxAKVyFHkAcEsZHCuEgq3peTULmksvFQ=="
}
}, {
"id" : "c30fd107-5505-4bb0-98ec-15ac5605d889",
"id" : "8227097a-ac41-4f8e-b883-f22ea359f00a",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -392,18 +392,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"b52e35d84f16d268357fc94059b965d843b2827f0654a800bfe8d15c247d0cf2\",\"description\":\"改变合约状态操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"*.setState\",\"createTime\":\"2021-11-07T06:19:08.725Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"b52e35d84f16d268357fc94059b965d843b2827f0654a800bfe8d15c247d0cf2\",\"description\":\"改变合约状态操作\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"*.setState\",\"createTime\":\"2021-11-08T01:21:25.569Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.725Z",
"signature" : "MEYCIQDEJhg+MqMZGMzlce+KUPTMGQpOrBdy2GGB4HpX+k6OaAIhAL8P1AwY2tixCEyzSFaZLRzsHaIBhacr3erCB05W/83X"
"tmLocal" : "2021-11-08T09:21:25.570Z",
"signature" : "MEYCIQCaGIkE03B9yVeD//Ns29s37UiHtJU01h3cWN4/il1WKwIhALd53b4ZrXmpqkrNSe28My6Bx5LycuY7KXdOzb5aH3E7"
}
}, {
"id" : "a43c85b2-49df-4c33-8702-3b6e2107ab08",
"id" : "a52f5113-2657-4440-882e-49e9a02469e1",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -411,18 +411,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"38766c3ecf02276e9aee804e7b5e700127bc72e7bb22a8b66fffcf2102bb2f07\",\"description\":\"获取链信息\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.chaininfo\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.733Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"38766c3ecf02276e9aee804e7b5e700127bc72e7bb22a8b66fffcf2102bb2f07\",\"description\":\"获取链信息\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.chaininfo\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.598Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.734Z",
"signature" : "MEYCIQCxFysOmIddTpcciIXt+0ZHgFwApDV0DS3Sc7KPfp96wAIhAIfeo8z2NVUPAb4gCxqhcGONX6iwAy0wafZfpNqdnMOe"
"tmLocal" : "2021-11-08T09:21:25.623Z",
"signature" : "MEYCIQCndpX0piKtAsrxKCptEFjsZkS+Lzmm7GkTI1DZ1lAA+QIhAOSWvToy1bAtigiuKNw9Ooflf1JjQtXT+ewYl8MYeHVR"
}
}, {
"id" : "e426184b-9079-4a2c-a00c-c902acde80a7",
"id" : "09354120-e512-40ea-af0a-c714ca490c04",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -430,18 +430,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"527281a9a94d769b45e38d8c1ca516d3965571e895e0ab66b8d873240030bc0a\",\"description\":\"返回组网节点数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.node\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.736Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"527281a9a94d769b45e38d8c1ca516d3965571e895e0ab66b8d873240030bc0a\",\"description\":\"返回组网节点数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.node\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.625Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.736Z",
"signature" : "MEUCIQCEyTqo1Fq+Kwnh9oOmPDxTg+EU/QXx2Xr3Q+lpl4Ha8AIgEbbs92YZDL3r7Mlc4aNkkYAUQw3UxgAwLqxYurTO/vY="
"tmLocal" : "2021-11-08T09:21:25.625Z",
"signature" : "MEYCIQD6b0PYBDaBsAUNb4H6lVP8ekACAfpfpTSJioBGGy/AKwIhAIlj08LGUm3DMJyq1o0vtYr1y6HlZIzKQmvpI1COTuGo"
}
}, {
"id" : "28769188-591f-4a9d-8bfc-da09123b05a8",
"id" : "cbdf8d0f-e65c-4c1c-a8e6-82ee2f3946f9",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -449,18 +449,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"08a8818c21d7afd7c31663e7e5b4f766a0e0b3278c7ccd46a362bbc7571a2072\",\"description\":\"返回系统缓存交易数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.getcachetransnumber\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.738Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"08a8818c21d7afd7c31663e7e5b4f766a0e0b3278c7ccd46a362bbc7571a2072\",\"description\":\"返回系统缓存交易数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.getcachetransnumber\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.628Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.738Z",
"signature" : "MEUCIQCM2nRP6KlD6oAjwfQciC9TzItPmFA5ke+hVph7/4R6wAIgCEjakaHQD31PSAvudrBt6tQceGWT/x0zeG+pwAR8l+s="
"tmLocal" : "2021-11-08T09:21:25.629Z",
"signature" : "MEQCIAgdqrxHnOJ+MBJ0MUo/Z84bvy353NpTrIFhWTZSCJxsAiBnYJA3Un9JDj97PTQCtC1Gm9uIUQejtWYYO8OOWIFoMw=="
}
}, {
"id" : "be6ab6b7-8010-43fb-b293-d0b5f931e406",
"id" : "4fb58c7b-9425-4817-ae33-a49536e38b67",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -468,18 +468,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"db5ade19754294f20c36a356e961820e99d9e4e29ba8179be9043a7ae44eccd7\",\"description\":\"返回系统接收到的交易数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.getAcceptedTransNumber\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.740Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"db5ade19754294f20c36a356e961820e99d9e4e29ba8179be9043a7ae44eccd7\",\"description\":\"返回系统接收到的交易数量\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"chaininfo.getAcceptedTransNumber\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.631Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.740Z",
"signature" : "MEQCIEP40NyxwL08fFcyaIvu6F+FoAN8ll1SzNCoF48YAJG0AiAwk1LAGDkYF8d7eZD3FsQw3Zc06Bu+v7QQWYk5Rtnh4w=="
"tmLocal" : "2021-11-08T09:21:25.632Z",
"signature" : "MEUCIQCJYjSZ+AwSDvX8fg5RdrOyXjv1i/6Dns4cb4ghAyiwIAIgAzJ0eZAj82ei7ahRUKZTRbw/TCcAJ80Z13nAaNRMiyA="
}
}, {
"id" : "9694d2f9-ccf6-44e3-8563-0fdf32d301ca",
"id" : "95967582-721a-48f6-b3c8-1bde43588418",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -487,18 +487,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"06b901074a00254571514c5f75a45f77cb1a7859c62f94a2a4b7825981f96c82\",\"description\":\"返回指定id的区块\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.hash\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.742Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"06b901074a00254571514c5f75a45f77cb1a7859c62f94a2a4b7825981f96c82\",\"description\":\"返回指定id的区块\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.hash\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.634Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.742Z",
"signature" : "MEQCICAbxpgdtjP76jrVu4nl7lNIk8chfuDo3tB3wNGws765AiALzeTpCV3kihhQ5LhTpjbY/ThJNba/bCgP6/hzYlOyzA=="
"tmLocal" : "2021-11-08T09:21:25.634Z",
"signature" : "MEUCIQCy+OzznJQTVLlj08vzCaPcOsLOc1CEWyAFngFD3ptADgIgBexJXZ4WQ6QokjB9erwVM5c+4TLBQIIS3BD97UZskeQ="
}
}, {
"id" : "9335de4c-a1a4-470d-84ac-eaf76201c8e3",
"id" : "6162108f-f1db-4e74-85e9-8ad60a9d7eef",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -506,18 +506,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"a277d109a69401c79af2c3adb985d62d16c193380d6afc8f256d80edbcabfac0\",\"description\":\"返回指定高度的区块\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blockHeight\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.745Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"a277d109a69401c79af2c3adb985d62d16c193380d6afc8f256d80edbcabfac0\",\"description\":\"返回指定高度的区块\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blockHeight\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.636Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.746Z",
"signature" : "MEUCIQC6kiyJkxd3cWmt+wegP5TDRQ4S9iM0wetPnBecKEaYOAIgMhcX1k8Rf45+W7+5nmC01VV60g8iPoTG0bcdYxHUvgU="
"tmLocal" : "2021-11-08T09:21:25.637Z",
"signature" : "MEUCIQDHlXyJUtjOVCYn4HMBhyzyLWEepeiY9HAVwnevAf6s4gIgNHWXx9og44XXtpEuQYTVRouujsf4SBBwTOo1uYyEWIw="
}
}, {
"id" : "4833f6e4-d6b1-4108-8d64-adb867291193",
"id" : "f5c53c42-481e-4304-8683-a57b59e798b3",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -525,18 +525,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"a74a6de7ab02ab6ec0a8c98d964abb1cfc343784c00fde91c53f6272661645df\",\"description\":\"返回指定高度区块包含的交易数\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.getTransNumberOfBlock\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.747Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"a74a6de7ab02ab6ec0a8c98d964abb1cfc343784c00fde91c53f6272661645df\",\"description\":\"返回指定高度区块包含的交易数\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.getTransNumberOfBlock\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.639Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.748Z",
"signature" : "MEYCIQCkCDTniRmE3zfPYT3LomIWHTwINqTd+Xx5+RBox8xBlAIhAMbLuBleMEq+itWHUcUpFVn+/O2tV66vN2leASlTwtK1"
"tmLocal" : "2021-11-08T09:21:25.640Z",
"signature" : "MEYCIQCAZ6dT9AYFlFnGhNh4a1MrIEl3Ji6mrx5YDO0esliqnwIhAOuy7X93Ds+v7d31+HglnqWGJa5Q+lEkeJlYBKhqIZrY"
}
}, {
"id" : "f96bb6fa-d999-45ab-89fa-e60351422626",
"id" : "72530329-274a-49bd-8a61-a24efba00023",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -544,18 +544,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"da7b2965e3f93cfed897ba1fc7cb170f6ec1f06f71421de327db3dfb2fb7d669\",\"description\":\"返回指定高度的区块的出块时间\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blocktime\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.749Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"da7b2965e3f93cfed897ba1fc7cb170f6ec1f06f71421de327db3dfb2fb7d669\",\"description\":\"返回指定高度的区块的出块时间\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blocktime\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.642Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.749Z",
"signature" : "MEUCIALe1LGdvAKYYs7w61actEFiXRBjdsGPyUYfeELdlrV7AiEAmEJHI5+dWZ1OB7P1hMieDufCX+3Iwbfm0UMn8au5T6w="
"tmLocal" : "2021-11-08T09:21:25.642Z",
"signature" : "MEQCIHfjjlcQa8WPrO/sSSd9viGFOBhIytRQ7ywCIwrUMpkKAiBsp1EIYNyn/InVV9Td+Ym4CaHZWIpFRFjzUQ0G5nMawA=="
}
}, {
"id" : "ade1803c-b3b4-45fd-8e86-a9978ba4a159",
"id" : "d18aa2a9-1e4b-4a0e-a814-00f0f02f70e3",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -563,18 +563,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"39c4cb23fbfe8dd44a245d477f20316bde260fc890439acff9a38ed2414e6c2d\",\"description\":\"返回指定交易的入块时间\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blocktimeoftran\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.751Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"39c4cb23fbfe8dd44a245d477f20316bde260fc890439acff9a38ed2414e6c2d\",\"description\":\"返回指定交易的入块时间\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.blocktimeoftran\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.644Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.751Z",
"signature" : "MEYCIQCmPY64dQIXjWHHbCYAdnhYu24jurjOo82OZXGV50u9fgIhALmBukEdEUB+mBG3hJMUzKM7WqxqZ6ozlq29Usp3aRet"
"tmLocal" : "2021-11-08T09:21:25.645Z",
"signature" : "MEYCIQC1bNzn7OZKsZpYz1AhhKnTog5Gc4spxazR1ftQdqwebwIhAOb5aK618vsnp2oxtiYSoYh4jT/BJZq+VpSyDf5z1+q9"
}
}, {
"id" : "dd557adf-5514-4b6e-8930-602abf8d8dab",
"id" : "30eec2f7-d35a-498f-a099-6c44fe76268b",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -582,18 +582,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"077bd0f9595d36b5b01787f9e33ac3b0ca87ef3596075a739bdbdecb69299670\",\"description\":\"返回指定高度的区块字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.stream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.752Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"077bd0f9595d36b5b01787f9e33ac3b0ca87ef3596075a739bdbdecb69299670\",\"description\":\"返回指定高度的区块字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"block.stream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.647Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.753Z",
"signature" : "MEUCIBvdjEFBa8p3OXb7n9+EspiuqjAjLjY0URJPgDPB4cx/AiEArlQPmwzKe7xSE9jdpSwpGcMlubLTTa++JaKd7AqGKEI="
"tmLocal" : "2021-11-08T09:21:25.648Z",
"signature" : "MEUCIQD4XtnTROKw5qc5WMwq7P4mQ9NcVrbADttFueVei0unVAIgZ9yEp/oZTrler7EzIDIKDg0UDOH6vl4RrN39DUvIk8g="
}
}, {
"id" : "346e58ab-b2ba-4a3f-8804-4e02c8aa1d1f",
"id" : "a9c83167-b748-4b18-9ef0-abccf4a7be61",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -601,18 +601,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"ce922519a3c3ecaf9b0986c2449c7680895c15f4b0e9818e994e14a4d28b6aaf\",\"description\":\"返回指定id的交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.755Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"ce922519a3c3ecaf9b0986c2449c7680895c15f4b0e9818e994e14a4d28b6aaf\",\"description\":\"返回指定id的交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.650Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.755Z",
"signature" : "MEYCIQDQeP5VTOCsNrYZ28fk4WwnHT5elYB1fNpgOhgFeLQCjgIhAMaq2fhr7AQMfM51qb7GU4CNvLxeDKKdBWRDHzf4wJCt"
"tmLocal" : "2021-11-08T09:21:25.650Z",
"signature" : "MEUCIQC1z/YcRaPjchJiPeEIZKRKC7Hx8EjN6V5O5Z9Ahp8kYwIgA/9CAM5mVXvG1mNTKawcbgeNvdP/Im8nPT2e2PGwKAs="
}
}, {
"id" : "7247e879-1b07-4e73-b739-3adf46b2f7c2",
"id" : "5084e6ca-2c83-40f6-bfbb-6db52e154409",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -620,18 +620,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"4b24c7d54882e6e371f7c211f7d8b10c438073e8ddfa97ba09c660ecbf66d813\",\"description\":\"返回指定id的交易字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.stream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.757Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"4b24c7d54882e6e371f7c211f7d8b10c438073e8ddfa97ba09c660ecbf66d813\",\"description\":\"返回指定id的交易字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.stream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.653Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.757Z",
"signature" : "MEUCIQCzCfJ73a7gbLvkjWT6+B31tQ32k5AcPm9pY9Izy1BsOwIgP+rhTBEUdH3MNiynS2U9RfhUcubZMxDoPD9fY1jg1l8="
"tmLocal" : "2021-11-08T09:21:25.653Z",
"signature" : "MEUCIQC90RnEqDjSEQwPlYFqIhUyKAvig1vxThuKojYSMRqVxQIgJdbxO7xpdZuVryh3kjbcFNLRvSYmak/hLfk2wL4NPVc="
}
}, {
"id" : "1e29df6e-3469-4e66-a296-db81348b5220",
"id" : "cac6c4f1-4b92-4f4d-aeec-008f89f47dcf",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -639,18 +639,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"118beab27e3f3054f6a898642a69cbdf159754c688b04f2f181878f567f8b88c\",\"description\":\"提交带签名的交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTranByString\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.759Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"118beab27e3f3054f6a898642a69cbdf159754c688b04f2f181878f567f8b88c\",\"description\":\"提交带签名的交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTranByString\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.656Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.759Z",
"signature" : "MEUCIHgWBII+/J7DstHV46hiRFu5UT7FUucGAV2jzeDWz6CdAiEAnhyhu3e3KUq0QeIRt1Yz/XzXxcLEdskC+gvsCgJDzZY="
"tmLocal" : "2021-11-08T09:21:25.656Z",
"signature" : "MEYCIQDRKB62J9mNjrsSnNuaB1m2lw0EaPeNNMfWVEDlg2VdWQIhAIKXEs1ElBD4vcAmk6r6lDEFkIxzv7m9QtrJ2kMhmlkw"
}
}, {
"id" : "3a90dfb2-399f-4d70-9749-feabd9d713e9",
"id" : "b5be30b8-f268-4c70-a89e-c9df17df0351",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -658,18 +658,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"b448bc33c662ac91896d97dfab59afcb274105d1e150ed4a73dce532188b65fe\",\"description\":\"提交带签名的交易字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTranStream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.761Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"b448bc33c662ac91896d97dfab59afcb274105d1e150ed4a73dce532188b65fe\",\"description\":\"提交带签名的交易字节流\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTranStream\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.659Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.761Z",
"signature" : "MEYCIQCr8PAOlA/rt5IKtQB9iE2bZSFvX5bpzkLZlhOve3A7ewIhAPlmrHZzB5MZUE4Fu7G88Mnk+rWons5l9v+UJoSjG/g0"
"tmLocal" : "2021-11-08T09:21:25.660Z",
"signature" : "MEUCIQCXLDYNP7mQ42svpC9Mhtx6queBbE4Qnhz6bQE4q/NCnAIgeQnxpaxksGK48WVlT17aSTcukXQivWyCdEMXA7kV9yI="
}
}, {
"id" : "85cb0e27-63c0-4220-a1cb-913d9c83ef51",
"id" : "0da8b247-8232-4841-b373-f4baa7351fa9",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -677,18 +677,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"4cc1b52b7c7723267816a45268dd4c3377228d3cd6c09006a4d0f3a181d84760\",\"description\":\"提交交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-07T06:19:08.762Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"4cc1b52b7c7723267816a45268dd4c3377228d3cd6c09006a4d0f3a181d84760\",\"description\":\"提交交易\",\"register\":\"951002007l78123233\",\"operateType\":\"OPERATE_SERVICE\",\"operateServiceName\":[\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"createTime\":\"2021-11-08T01:21:25.664Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.763Z",
"signature" : "MEUCIHHqyMvyQL1iiEDbDIdVRGLzlWmRYjmtDcZwR3PL9sC8AiEAiOgw1r78g3gfh/q2/1cXPPX7xeC3uq5lTPMibNPnIco="
"tmLocal" : "2021-11-08T09:21:25.665Z",
"signature" : "MEQCIAl1ZKPJWPAkYYWkz2ArTLD8bWverwBayptOjJOtuvMCAiBwEIiR2qujDHXS3zrcAqz7fqi7YLQMf2trsXWsBD77Cg=="
}
}, {
"id" : "8cdf8b91-ace9-4549-bee5-e0b282bdd478",
"id" : "22308815-1f21-4a4c-bc8b-3ef9ce444fc1",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -696,18 +696,18 @@
},
"ipt" : {
"function" : "grantOperate",
"args" : [ "[\"{\\\"id\\\":\\\"ad6d577b-41d9-44ac-8e3b-6147c7720f81\\\",\\\"grant\\\":\\\"951002007l78123233\\\",\\\"granted\\\":[\\\"121000005l35120456\\\",\\\"12110107bi45jh675g\\\",\\\"122000002n00123567\\\",\\\"921000005k36123789\\\",\\\"921000006e0012v696\\\"],\\\"opId\\\":[\\\"7d93aeecec616f7f36e3333d0a9264366f36c563a10c978f159b034824898808\\\",\\\"122fd24a7b84f3b9f8a91c0bfd31910a655de38d040aba44f874d9bbb3e8f777\\\",\\\"345148e45a3cbd72783b453f072c08af60e7f692b0882eeb2ede98b4ff10a9dc\\\",\\\"c34b7ad979e0cddf1e0fff9140c4aebe5df4ea87dad8fa1e9fa0dd13ad3f55ee\\\",\\\"5e0e7d0eb29e2e7b55926f32d358466b25eb09ebdd320a936c16898d2752b01a\\\",\\\"7358803962fd55455211f2824c5376f342715fd358f4a24eaa06761ebf503c79\\\",\\\"6b2c5c52c74ef82365b7898d8685c2523ecf0d049648135081e2972c96f9ae18\\\",\\\"01f66ad1019321a4986e903bf6d446f7460817528bd6ecf16f48cec17c6653cb\\\",\\\"d68a87979fba2d6de2cebed5820e605597a929cb0fd23d7a3fe9302babb33c3b\\\",\\\"ccc1e3d69eedfa68f70d60ed8820a64dada2d3b2c66dda72585c4444a16f2aa1\\\",\\\"d74f17115a3c42f2de0214503fca50737a4135840f8e61c6db42d7bcd0cb7f15\\\",\\\"62528762a01b0b5cdbedc6a0d50e12ac06805d466c0f4239dedf0f855b3c75bd\\\",\\\"d3f2db1d2ab212b967b6b61c7f74dc2247c1aa1e1172066617c3c1a0caa00056\\\",\\\"b52e35d84f16d268357fc94059b965d843b2827f0654a800bfe8d15c247d0cf2\\\",\\\"38766c3ecf02276e9aee804e7b5e700127bc72e7bb22a8b66fffcf2102bb2f07\\\",\\\"527281a9a94d769b45e38d8c1ca516d3965571e895e0ab66b8d873240030bc0a\\\",\\\"08a8818c21d7afd7c31663e7e5b4f766a0e0b3278c7ccd46a362bbc7571a2072\\\",\\\"db5ade19754294f20c36a356e961820e99d9e4e29ba8179be9043a7ae44eccd7\\\",\\\"06b901074a00254571514c5f75a45f77cb1a7859c62f94a2a4b7825981f96c82\\\",\\\"a277d109a69401c79af2c3adb985d62d16c193380d6afc8f256d80edbcabfac0\\\",\\\"a74a6de7ab02ab6ec0a8c98d964abb1cfc343784c00fde91c53f6272661645df\\\",\\\"da7b2965e3f93cfed897ba1fc7cb170f6ec1f06f71421de327db3dfb2fb7d669\\\",\\\"39c4cb23fbfe8dd44a245d477f20316bde260fc890439acff9a38ed2414e6c2d\\\",\\\"077bd0f9595d36b5b01787f9e33ac3b0ca87ef3596075a739bdbdecb69299670\\\",\\\"ce922519a3c3ecaf9b0986c2449c7680895c15f4b0e9818e994e14a4d28b6aaf\\\",\\\"4b24c7d54882e6e371f7c211f7d8b10c438073e8ddfa97ba09c660ecbf66d813\\\",\\\"118beab27e3f3054f6a898642a69cbdf159754c688b04f2f181878f567f8b88c\\\",\\\"b448bc33c662ac91896d97dfab59afcb274105d1e150ed4a73dce532188b65fe\\\",\\\"4cc1b52b7c7723267816a45268dd4c3377228d3cd6c09006a4d0f3a181d84760\\\"],\\\"isTransfer\\\":\\\"TRANSFER_REPEATEDLY\\\",\\\"createTime\\\":\\\"2021-11-07T06:19:08.765Z\\\",\\\"authorizeValid\\\":true,\\\"version\\\":\\\"1.0\\\"}\"]" ]
"args" : [ "[\"{\\\"id\\\":\\\"5adccd98-a24b-4a29-81d7-08718fac3f06\\\",\\\"grant\\\":\\\"951002007l78123233\\\",\\\"granted\\\":[\\\"121000005l35120456\\\",\\\"12110107bi45jh675g\\\",\\\"122000002n00123567\\\",\\\"921000005k36123789\\\",\\\"921000006e0012v696\\\"],\\\"opId\\\":[\\\"7d93aeecec616f7f36e3333d0a9264366f36c563a10c978f159b034824898808\\\",\\\"122fd24a7b84f3b9f8a91c0bfd31910a655de38d040aba44f874d9bbb3e8f777\\\",\\\"345148e45a3cbd72783b453f072c08af60e7f692b0882eeb2ede98b4ff10a9dc\\\",\\\"c34b7ad979e0cddf1e0fff9140c4aebe5df4ea87dad8fa1e9fa0dd13ad3f55ee\\\",\\\"5e0e7d0eb29e2e7b55926f32d358466b25eb09ebdd320a936c16898d2752b01a\\\",\\\"7358803962fd55455211f2824c5376f342715fd358f4a24eaa06761ebf503c79\\\",\\\"6b2c5c52c74ef82365b7898d8685c2523ecf0d049648135081e2972c96f9ae18\\\",\\\"01f66ad1019321a4986e903bf6d446f7460817528bd6ecf16f48cec17c6653cb\\\",\\\"d68a87979fba2d6de2cebed5820e605597a929cb0fd23d7a3fe9302babb33c3b\\\",\\\"ccc1e3d69eedfa68f70d60ed8820a64dada2d3b2c66dda72585c4444a16f2aa1\\\",\\\"d74f17115a3c42f2de0214503fca50737a4135840f8e61c6db42d7bcd0cb7f15\\\",\\\"62528762a01b0b5cdbedc6a0d50e12ac06805d466c0f4239dedf0f855b3c75bd\\\",\\\"d3f2db1d2ab212b967b6b61c7f74dc2247c1aa1e1172066617c3c1a0caa00056\\\",\\\"b52e35d84f16d268357fc94059b965d843b2827f0654a800bfe8d15c247d0cf2\\\",\\\"38766c3ecf02276e9aee804e7b5e700127bc72e7bb22a8b66fffcf2102bb2f07\\\",\\\"527281a9a94d769b45e38d8c1ca516d3965571e895e0ab66b8d873240030bc0a\\\",\\\"08a8818c21d7afd7c31663e7e5b4f766a0e0b3278c7ccd46a362bbc7571a2072\\\",\\\"db5ade19754294f20c36a356e961820e99d9e4e29ba8179be9043a7ae44eccd7\\\",\\\"06b901074a00254571514c5f75a45f77cb1a7859c62f94a2a4b7825981f96c82\\\",\\\"a277d109a69401c79af2c3adb985d62d16c193380d6afc8f256d80edbcabfac0\\\",\\\"a74a6de7ab02ab6ec0a8c98d964abb1cfc343784c00fde91c53f6272661645df\\\",\\\"da7b2965e3f93cfed897ba1fc7cb170f6ec1f06f71421de327db3dfb2fb7d669\\\",\\\"39c4cb23fbfe8dd44a245d477f20316bde260fc890439acff9a38ed2414e6c2d\\\",\\\"077bd0f9595d36b5b01787f9e33ac3b0ca87ef3596075a739bdbdecb69299670\\\",\\\"ce922519a3c3ecaf9b0986c2449c7680895c15f4b0e9818e994e14a4d28b6aaf\\\",\\\"4b24c7d54882e6e371f7c211f7d8b10c438073e8ddfa97ba09c660ecbf66d813\\\",\\\"118beab27e3f3054f6a898642a69cbdf159754c688b04f2f181878f567f8b88c\\\",\\\"b448bc33c662ac91896d97dfab59afcb274105d1e150ed4a73dce532188b65fe\\\",\\\"4cc1b52b7c7723267816a45268dd4c3377228d3cd6c09006a4d0f3a181d84760\\\"],\\\"isTransfer\\\":\\\"TRANSFER_REPEATEDLY\\\",\\\"createTime\\\":\\\"2021-11-08T01:21:25.668Z\\\",\\\"authorizeValid\\\":true,\\\"version\\\":\\\"1.0\\\"}\"]" ]
},
"signature" : {
"certId" : {
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.798Z",
"signature" : "MEUCID8J+O0uWqTpMjZr+ALRu6eWO6aXqxla8yn3ZRgcyt/gAiEAze2Kv3h5Cfw4VKBH2OJEPjzPIT5/0qK+gwH2FTvRllk="
"tmLocal" : "2021-11-08T09:21:25.813Z",
"signature" : "MEQCIG51u/KZouaVyYv/1PCNvXUB5qjpLOd7pgoHUKtR6RsGAiBAPMkd3A6KfDX/EQeOREXNGOB5sMmuHLjdKnlcQhv/tg=="
}
}, {
"id" : "c38b1b44-11d2-402b-925e-bac587bab910",
"id" : "af25fb52-3131-4c18-85e5-ab073c00aa97",
"type" : "CHAINCODE_DEPLOY",
"cid" : {
"chaincodeName" : "ContractAssetsTPL",
@ -715,7 +715,7 @@
},
"spec" : {
"timeout" : 5000,
"codePackage" : "\n/*\n * Copyright 2019 Blockchain Technology and Application Joint Lab, Linkel Technology Co., Ltd, Beijing, Fintech Research Center of ISCAS.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BA SIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\npackage rep.sc.tpl\n\nimport org.json4s._\nimport org.json4s.jackson.JsonMethods._\nimport rep.app.conf.SystemProfile\nimport rep.protos.peer.ChaincodeId\nimport rep.utils.IdTool\nimport rep.sc.scalax.IContract\n\nimport rep.sc.scalax.ContractContext\nimport rep.sc.scalax.ContractException\nimport rep.protos.peer.ActionResult\n\n/**\n * 资产管理合约\n */\n\nfinal case class Transfer(from: String, to: String, amount: Int)\n\nclass ContractAssetsTPL extends IContract {\n\n // 需要跨合约读账户\n val chaincodeName = SystemProfile.getAccountChaincodeName\n val chaincodeVersion = SystemProfile.getAccountChaincodeVersion\n //val prefix = IdTool.getCid(ChaincodeId(chaincodeName, chaincodeVersion))\n\n implicit val formats = DefaultFormats\n\n def init(ctx: ContractContext) {\n println(s\"tid: $ctx.t.id\")\n }\n\n def set(ctx: ContractContext, data: Map[String, Int]): ActionResult = {\n println(s\"set data:$data\")\n for ((k, v) <- data) {\n ctx.api.setVal(k, v)\n }\n null\n }\n\n def transfer(ctx: ContractContext, data: Transfer): ActionResult = {\n if (!data.from.equals(ctx.t.getSignature.getCertId.creditCode))\n throw ContractException(\"只允许从本人账户转出\")\n val signerKey = data.to\n // 跨合约读账户,该处并未反序列化\n if (IdTool.isDidContract) {\n if (ctx.api.getStateEx(chaincodeName, \"signer_\" + data.to) == null)\n throw ContractException(\"目标账户不存在\")\n } else {\n if (ctx.api.getStateEx(chaincodeName, data.to) == null)\n throw ContractException(\"目标账户不存在\")\n }\n val sfrom: Any = ctx.api.getVal(data.from)\n val dfrom = sfrom.asInstanceOf[Int]\n if (dfrom < data.amount)\n throw ContractException(\"余额不足\")\n ctx.api.setVal(data.from, dfrom - data.amount)\n val dto = ctx.api.getVal(data.to).toString.toInt\n ctx.api.setVal(data.to, dto + data.amount)\n null\n }\n\n def put_proof(ctx: ContractContext, data: Map[String, Any]): ActionResult = {\n //先检查该hash是否已经存在,如果已存在,抛异常\n for ((k, v) <- data) {\n val pv0: Any = ctx.api.getVal(k)\n if (pv0 != null)\n throw ContractException(s\"[$k] 已存在,当前值为 [$pv0]\")\n ctx.api.setVal(k, v)\n print(\"putProof:\" + k + \":\" + v)\n }\n null\n }\n\n /**\n * 根据action,找到对应的method并将传入的json字符串parse为method需要的传入参数\n */\n def onAction(ctx: ContractContext, action: String, sdata: String): ActionResult = {\n val json = parse(sdata)\n action match {\n case \"transfer\" =>\n transfer(ctx, json.extract[Transfer])\n case \"set\" =>\n set(ctx, json.extract[Map[String, Int]])\n case \"putProof\" =>\n put_proof(ctx, json.extract[Map[String, Any]])\n }\n }\n\n}\n",
"codePackage" : "\r\n/*\r\n * Copyright 2019 Blockchain Technology and Application Joint Lab, Linkel Technology Co., Ltd, Beijing, Fintech Research Center of ISCAS.\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BA SIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n *\r\n */\r\n\r\npackage rep.sc.tpl\r\n\r\nimport org.json4s._\r\nimport org.json4s.jackson.JsonMethods._\r\nimport rep.app.conf.SystemProfile\r\nimport rep.protos.peer.ChaincodeId\r\nimport rep.utils.IdTool\r\nimport rep.sc.scalax.IContract\r\n\r\nimport rep.sc.scalax.ContractContext\r\nimport rep.sc.scalax.ContractException\r\nimport rep.protos.peer.ActionResult\r\n\r\n/**\r\n * 资产管理合约\r\n */\r\n\r\nfinal case class Transfer(from: String, to: String, amount: Int)\r\n\r\nclass ContractAssetsTPL extends IContract {\r\n\r\n // 需要跨合约读账户\r\n val chaincodeName = SystemProfile.getAccountChaincodeName\r\n val chaincodeVersion = SystemProfile.getAccountChaincodeVersion\r\n //val prefix = IdTool.getCid(ChaincodeId(chaincodeName, chaincodeVersion))\r\n\r\n implicit val formats = DefaultFormats\r\n\r\n def init(ctx: ContractContext) {\r\n println(s\"tid: $ctx.t.id\")\r\n }\r\n\r\n def set(ctx: ContractContext, data: Map[String, Int]): ActionResult = {\r\n println(s\"set data:$data\")\r\n for ((k, v) <- data) {\r\n ctx.api.setVal(k, v)\r\n }\r\n null\r\n }\r\n\r\n def transfer(ctx: ContractContext, data: Transfer): ActionResult = {\r\n if (!data.from.equals(ctx.t.getSignature.getCertId.creditCode))\r\n throw ContractException(\"只允许从本人账户转出\")\r\n val signerKey = data.to\r\n // 跨合约读账户,该处并未反序列化\r\n if (IdTool.isDidContract) {\r\n if (ctx.api.getStateEx(chaincodeName, \"signer_\" + data.to) == null)\r\n throw ContractException(\"目标账户不存在\")\r\n } else {\r\n if (ctx.api.getStateEx(chaincodeName, data.to) == null)\r\n throw ContractException(\"目标账户不存在\")\r\n }\r\n val sfrom: Any = ctx.api.getVal(data.from)\r\n val dfrom = sfrom.asInstanceOf[Int]\r\n if (dfrom < data.amount)\r\n throw ContractException(\"余额不足\")\r\n ctx.api.setVal(data.from, dfrom - data.amount)\r\n val dto = ctx.api.getVal(data.to).toString.toInt\r\n ctx.api.setVal(data.to, dto + data.amount)\r\n null\r\n }\r\n\r\n def put_proof(ctx: ContractContext, data: Map[String, Any]): ActionResult = {\r\n //先检查该hash是否已经存在,如果已存在,抛异常\r\n for ((k, v) <- data) {\r\n val pv0: Any = ctx.api.getVal(k)\r\n if (pv0 != null)\r\n throw ContractException(s\"[$k] 已存在,当前值为 [$pv0]\")\r\n ctx.api.setVal(k, v)\r\n print(\"putProof:\" + k + \":\" + v)\r\n }\r\n null\r\n }\r\n\r\n /**\r\n * 根据action,找到对应的method并将传入的json字符串parse为method需要的传入参数\r\n */\r\n def onAction(ctx: ContractContext, action: String, sdata: String): ActionResult = {\r\n val json = parse(sdata)\r\n action match {\r\n case \"transfer\" =>\r\n transfer(ctx, json.extract[Transfer])\r\n case \"set\" =>\r\n set(ctx, json.extract[Map[String, Int]])\r\n case \"putProof\" =>\r\n put_proof(ctx, json.extract[Map[String, Any]])\r\n }\r\n }\r\n\r\n}\r\n",
"ctype" : "CODE_SCALA",
"cclassification" : "CONTRACT_CUSTOM"
},
@ -724,11 +724,11 @@
"creditCode" : "121000005l35120456",
"certName" : "node1"
},
"tmLocal" : "2021-11-07T14:19:08.802Z",
"signature" : "MEUCIQDL1MnKN1pE0A6vy+ivck6O3M8Rd4LOQyK40Ua8SJeQbwIgRpvgWCVEeeuHKdWe7nNz/HkZK21IESvMnPSpdv6/bT0="
"tmLocal" : "2021-11-08T09:21:25.858Z",
"signature" : "MEUCICQ95kvmtrESQspa5tHXmg5IVPikCS1iN7DwS73WGpasAiEAnDzisrhLUV+kiwRlEHjIYk8ITpfgKTOqHR1TMHsYA+s="
}
}, {
"id" : "9301f8f8-5d34-4304-a23c-2cf58997af86",
"id" : "79cabb90-860d-4b34-b977-10b593691659",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -736,18 +736,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"97849ffa376d40bca8537f08aaa278a2a1c2bc7021a2f2db1301cf14179ba56e\",\"description\":\"转账交易\",\"register\":\"121000005l35120456\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.transfer\",\"createTime\":\"2021-11-07T06:19:08.805Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"97849ffa376d40bca8537f08aaa278a2a1c2bc7021a2f2db1301cf14179ba56e\",\"description\":\"转账交易\",\"register\":\"121000005l35120456\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.transfer\",\"createTime\":\"2021-11-08T01:21:25.861Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "121000005l35120456",
"certName" : "node1"
},
"tmLocal" : "2021-11-07T14:19:08.806Z",
"signature" : "MEQCIHPVXRM6sufCthJ/de5S59yGeVelSxjiJbIeAtSdfnkXAiBFycSdm8U0vxAHcJXR+FxkAtwnWRxZWcYVYJ+JsskvCA=="
"tmLocal" : "2021-11-08T09:21:25.862Z",
"signature" : "MEUCIALsA/w2rgIod1NPEca1+AabkUbR5FBYZa7CKVu7IxyXAiEA/YXOlbVCcg5w5QiDfSf2wKqIU45y9+rNpjGwiQTC7ww="
}
}, {
"id" : "e6c716ba-becc-4487-a851-2c6c1c78c9a4",
"id" : "4dc8eb5e-8c8d-4285-8de6-3991f80bffbe",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -755,18 +755,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"b877825de71d915677bf1a61e48d61df0187166c3f6afa5fdae3a98058cae769\",\"description\":\"初始化账户\",\"register\":\"121000005l35120456\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.set\",\"createTime\":\"2021-11-07T06:19:08.805Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"b877825de71d915677bf1a61e48d61df0187166c3f6afa5fdae3a98058cae769\",\"description\":\"初始化账户\",\"register\":\"121000005l35120456\",\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.set\",\"createTime\":\"2021-11-08T01:21:25.861Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "121000005l35120456",
"certName" : "node1"
},
"tmLocal" : "2021-11-07T14:19:08.808Z",
"signature" : "MEUCIEVdumaHjmm8uIa5i7zLRgoFcUVNdtGa3t6Mn+YWXKMsAiEAismhZSmuLYkNf8mReXymH7J+uwEVopdAdEUiyZLunVw="
"tmLocal" : "2021-11-08T09:21:25.864Z",
"signature" : "MEYCIQCB5yIANgA0NNuIozvilqkuPzCl9OPZzoGlAkllNRKO0AIhANr7HM8LbJagw3PEbq1OU5tM+s0bXT9SLn0LDpsQ2/wz"
}
}, {
"id" : "8952517d-9708-415f-9ac5-2e495283c1f4",
"id" : "8c55d2c6-bb1d-43d3-b97f-8833d706da63",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "RdidOperateAuthorizeTPL",
@ -774,18 +774,18 @@
},
"ipt" : {
"function" : "signUpOperate",
"args" : [ "{\"opId\":\"7a183b2f5b57b0d966efd031a239170e1ed2d3209217a5f7e850fa6326233bcc\",\"description\":\"存证\",\"register\":\"121000005l35120456\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.putProof\",\"createTime\":\"2021-11-07T06:19:08.805Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
"args" : [ "{\"opId\":\"7a183b2f5b57b0d966efd031a239170e1ed2d3209217a5f7e850fa6326233bcc\",\"description\":\"存证\",\"register\":\"121000005l35120456\",\"isPublish\":true,\"operateType\":\"OPERATE_CONTRACT\",\"operateServiceName\":[\"transaction.stream\",\"transaction.postTranByString\",\"transaction.postTranStream\",\"transaction.postTran\"],\"operateEndpoint\":\"*\",\"authFullName\":\"ContractAssetsTPL.putProof\",\"createTime\":\"2021-11-08T01:21:25.861Z\",\"opValid\":true,\"version\":\"1.0\"}" ]
},
"signature" : {
"certId" : {
"creditCode" : "121000005l35120456",
"certName" : "node1"
},
"tmLocal" : "2021-11-07T14:19:08.809Z",
"signature" : "MEYCIQCXF0t7Xmgj2H1kI1pdzMUPc3plhMePvWuyySX+S92vfgIhAIo9uFPKM7yyCZZAk4W+Op03eNpFZAq+svxSyHWCiL5V"
"tmLocal" : "2021-11-08T09:21:25.867Z",
"signature" : "MEUCIAwxGQP88GHSU6jQ3h5UDWyxwogIQEwJRB4VDrd3KXy0AiEAjbbVrI1prhNnYJf7bhOmLqLJrGwtl2lhcqeCGOIZ55U="
}
}, {
"id" : "87b2032a-96d5-4ac3-a1d1-d009166fec39",
"id" : "22924335-2cbb-41f6-9072-59c011c41bd7",
"type" : "CHAINCODE_INVOKE",
"cid" : {
"chaincodeName" : "ContractAssetsTPL",
@ -800,8 +800,8 @@
"creditCode" : "951002007l78123233",
"certName" : "super_admin"
},
"tmLocal" : "2021-11-07T14:19:08.811Z",
"signature" : "MEYCIQCMJ8QD9arcmYsMEwn34RhHsq1oNeMOk03gNIlZtQSYPgIhAM06mHIE34UFqqbNUsVrRdL38Xm6YYh4o0wd1SLrr+NP"
"tmLocal" : "2021-11-08T09:21:25.870Z",
"signature" : "MEUCIQC3MA2CFaj72sQdObvv9rEm7F7iulfsL43n+1xwmyYAtwIgTUVVLkrbwyu1nfJSTYWyH5GTOs2339bfXGqOxARRum8="
}
} ]
}

View File

@ -25,7 +25,8 @@ object AuthOperation extends DidOperation {
case class AuthorizeStatus(authId: String, state: Boolean)
/**
* 授予操作
* 公开授予操作
* 操作拥有者可以将自己<拥有的操作以及自己被授予的可继续让渡的操作>授予别人
*
* @param ctx
* @param authorizeList 授权操作列表
@ -78,7 +79,8 @@ object AuthOperation extends DidOperation {
}
/**
* 禁用或启用授权操作
* 公开禁用或启用授权操作
* 授权者或superAdmin可修改授权状态
*
* @param ctx
* @param status
@ -88,10 +90,11 @@ object AuthOperation extends DidOperation {
val oldAuthorize = ctx.api.getVal(authPrefix + status.authId)
if (oldAuthorize != null) {
val authorize = oldAuthorize.asInstanceOf[Authorize]
val isAdmin = ctx.api.isAdminCert(ctx.t.getSignature.getCertId.creditCode)
// 检查签名者是否为授权者
if (ctx.t.getSignature.getCertId.creditCode.equals(authorize.grant)) {
if (ctx.t.getSignature.getCertId.creditCode.equals(authorize.grant) || isAdmin) {
// 检查账户的有效性
checkSignerValid(ctx, authorize.grant)
// checkSignerValid(ctx, authorize.grant)
var newAuthorize = Authorize.defaultInstance
if (status.state) {
newAuthorize = authorize.withAuthorizeValid(status.state).clearDisableTime
@ -110,7 +113,7 @@ object AuthOperation extends DidOperation {
}
/**
* 绑定权限到证书上
* 公开绑定权限到证书上
*
* @param ctx
* @param bindCertToAuthorize

View File

@ -6,22 +6,23 @@ import rep.sc.scalax.{ContractContext, ContractException}
import rep.sc.tpl.did.DidTplPrefix.{certPrefix, hashPrefix, signerPrefix}
/**
* 无需授权自己注册证书修改证书状态
* 需要授权可以为别人注册证书修改证书状态
* 无需授权自己注册普通证书修改普通证书状态
* 需要授权可以为别人注册身份或普通证书修改身份或普通证书状态
*
* @author zyf
*/
object CertOperation extends DidOperation {
val isAuthCert = ActionResult(13001, "被注册证书为身份校验证书,而非普通证书")
val canNotSignUpAuthCertificate = ActionResult(13001, "该方法不能被注册身份校验证书,请通过 signUpAllTypeCertificate")
val creditCodeNotMatchCode = 13002
val creditCodeNotMatch = "creditCode不匹配交易签名者为%s参数证书为%s"
val posterNotAuthCert = ActionResult(13003, "交易提交者非身份校验证书")
val customCertExists = ActionResult(13004, "证书已存在")
val certNotExists = ActionResult(13005, "证书不存在")
val notAdmin = ActionResult(13006, "非super_admin不能修改super_admin的certificate的状态")
val notAdmin = ActionResult(13006, "非super_admin不能为super_admin注册certificate或修改certificate状态")
val certExists = ActionResult(13007, "用户的身份证书或者普通证书已存在")
val hashNotMatch = ActionResult(13008, "Certificate中hash字段与certificate字段计算得到的Hash不相等")
val canNotOperateAuthCertificate = ActionResult(13009, "该方法不能修改身份证书状态,请通过 updateAllTypeCertificateStatus")
case class CertStatus(creditCode: String, certName: String, state: Boolean)
@ -46,7 +47,7 @@ object CertOperation extends DidOperation {
}
/**
* 公开无需授权只允许注册普通证书
* 公开无需授权任何用户都可以使用自己的身份证书来为自己注册普通证书
*
* @param ctx
* @param customCert
@ -64,7 +65,7 @@ object CertOperation extends DidOperation {
throw ContractException(toJsonErrMsg(customCertExists))
} else if (customCert.certType.isCertAuthentication || customCert.certType.isCertUndefined) {
// 身份校验证书通过signer注册指定或通过 signUpAllTypeCertificate
throw ContractException(toJsonErrMsg(isAuthCert))
throw ContractException(toJsonErrMsg(canNotSignUpAuthCertificate))
} else if (!Sha256.hashstr(customCert.certificate).equals(customCert.certHash)) {
throw ContractException(toJsonErrMsg(hashNotMatch))
} else {
@ -79,7 +80,7 @@ object CertOperation extends DidOperation {
}
/**
* 公开需要授权禁用证书身份证书应该也可以被禁用
* 公开无需授权使用身份证书对应的签名交易可以禁用普通证书
*
* @param ctx
* @param status
@ -87,27 +88,25 @@ object CertOperation extends DidOperation {
*/
def updateCertificateStatus(ctx: ContractContext, status: CertStatus): ActionResult = {
// 检查账户的有效性
checkSignerValid(ctx, status.creditCode)
// checkSignerValid(ctx, status.creditCode)
val certKey = certPrefix + status.creditCode + "." + status.certName
val oldCert = ctx.api.getVal(certKey)
if (oldCert != null) {
val cert = oldCert.asInstanceOf[Certificate]
// 身份证书可以来禁用该账户的所有证书包括身份证书与普通证书
// 身份证书可以来禁用该账户的普通证书
checkAuthCertAndRule(ctx, cert)
var newCert = Certificate.defaultInstance
if (status.state) {
newCert = cert.withCertValid(status.state).clearUnregTime
// 不能修改身份证书的状态通过 updateAllTypeCertificateStatus
if (!cert.certType.isCertAuthentication) {
var newCert = Certificate.defaultInstance
if (status.state) {
newCert = cert.withCertValid(status.state).clearUnregTime
} else {
val disableTime = ctx.t.getSignature.getTmLocal
newCert = cert.withCertValid(status.state).withUnregTime(disableTime)
}
ctx.api.setVal(certKey, newCert)
} else {
val disableTime = ctx.t.getSignature.getTmLocal
newCert = cert.withCertValid(status.state).withUnregTime(disableTime)
}
ctx.api.setVal(certKey, newCert)
// 如果是身份证书则将Signer中的身份证书列表更新身份证书可以禁用身份证书
if (newCert.certType.isCertAuthentication) {
val signer = ctx.api.getVal(signerPrefix + status.creditCode).asInstanceOf[Signer]
val newAuthCerts = signer.authenticationCerts.filterNot(cert => cert.certHash.equals(newCert.certHash)).:+(newCert)
val newSigner = signer.withAuthenticationCerts(newAuthCerts)
ctx.api.setVal(signerPrefix + status.creditCode, newSigner)
throw ContractException(toJsonErrMsg(canNotOperateAuthCertificate))
}
} else {
throw ContractException(toJsonErrMsg(certNotExists))
@ -117,7 +116,7 @@ object CertOperation extends DidOperation {
/**
* 不公开需要授权可注册所有类型证书身份证书或者普通证书且可以为其他用户注册
* 可以为super_admin注册吗
* 权限比较高一般不授予出去
*
* @return
*/
@ -154,7 +153,8 @@ object CertOperation extends DidOperation {
}
/**
* 需要授权修改证书状态不可以修改super_admin的证书
* 需要授权修改证书身份证书或者普通证书状态不可以修改super_admin的证书
* 权限比较高一般不授予出去
*
* @return
*/

View File

@ -1,5 +1,6 @@
package rep.sc.tpl.did.operation
import rep.app.conf.SystemProfile
import rep.protos.peer.{ActionResult, Signer}
import rep.sc.scalax.{ContractContext, ContractException}
import rep.sc.tpl.did.operation.SignerOperation.signerNotExists
@ -12,6 +13,8 @@ import scalapb.json4s.JsonFormat
*/
protected trait DidOperation {
val didChainCodeName = SystemProfile.getAccountChaincodeName
val signerNotValid = ActionResult(11001, "Signer状态是无效的")
val notChainCert = ActionResult(11002, "非链证书")
val stateNotMatchFunction = ActionResult(11003, "状态参数与方法名不匹配")

View File

@ -64,7 +64,7 @@ object OperOperation extends DidOperation {
/**
* 注册Operate
* 链密钥对为自己注册service为自己注册deploy与setState其他用户通过授权
* 公开无需授权链密钥对为自己注册service为自己注册deploy与setState以及did合约相关操作因此可以公开
* 普通合约拥有者操作拥有者给自己注册合约相关的操作
*
* @param ctx
@ -79,13 +79,14 @@ object OperOperation extends DidOperation {
if (!isAdmin) {
throw ContractException(toJsonErrMsg(onlyAdminCanManageServiceOperate))
}
// TODO 判断hash是否匹配
case OperateType.OPERATE_CONTRACT =>
if (operate.authFullName.endsWith(".deploy") || operate.authFullName.endsWith(".setState")) {
if (!isAdmin) {
throw ContractException(toJsonErrMsg(onlyAdminCanRegisterOperate))
}
} else {
// 非deploy与setState则必须是合约部署者
// 非deploy与setState以及"RdidOperateAuthorizeTPL.function"则必须是合约部署者
if (!isContractDeployer(ctx, operate)) {
throw ContractException(toJsonErrMsg(notContractDeployer))
}
@ -97,18 +98,19 @@ object OperOperation extends DidOperation {
throw ContractException(toJsonErrMsg(operateTypeUndefined))
}
val certId = ctx.t.getSignature.getCertId
// 只允许自己给自己注册
if (!operate.register.equals(certId.creditCode)) {
throw ContractException(toJsonErrMsg(registerNotTranPoster))
}
if (ctx.api.getVal(operPrefix + operate.opId) == null) {
// 检查账户的有效性
val signer = checkSignerValid(ctx, operate.register)
val newSigner = signer.withOperateIds(signer.operateIds.:+(operate.opId))
// 将operateId注册到Signer里
ctx.api.setVal(signerPrefix + operate.register, newSigner)
// 保存operate
ctx.api.setVal(operPrefix + operate.opId, operate)
// 只允许自己给自己注册
if (operate.register.equals(certId.creditCode)) {
// 检查账户的有效性
val signer = checkSignerValid(ctx, operate.register)
val newSigner = signer.withOperateIds(signer.operateIds.:+(operate.opId))
// 将operateId注册到Signer里
ctx.api.setVal(signerPrefix + operate.register, newSigner)
// 保存operate
ctx.api.setVal(operPrefix + operate.opId, operate)
} else {
throw ContractException(toJsonErrMsg(registerNotTranPoster))
}
} else {
throw ContractException(toJsonErrMsg(operateExists))
}
@ -116,7 +118,8 @@ object OperOperation extends DidOperation {
}
/**
* 禁用或启用Operate
* 更新操作状态
* 公开无需授权操作注册者禁用或启用Operate自己 禁用/启用 自己的操作或者管理员 禁用/启用 其他用户的操作
*
* @param ctx
* @param status
@ -126,21 +129,23 @@ object OperOperation extends DidOperation {
val oldOperate = ctx.api.getVal(operPrefix + status.opId)
if (oldOperate != null) {
val operate = oldOperate.asInstanceOf[Operate]
val certId = ctx.t.getSignature.getCertId
// 只能禁用自己的操作
if (!operate.register.equals(certId.creditCode)) {
val tranCertId = ctx.t.getSignature.getCertId
val isAdmin = ctx.api.isAdminCert(tranCertId.creditCode)
// 自己禁用自己的操作或者管理员禁用
if (operate.register.equals(tranCertId.creditCode) || isAdmin) {
// 检查账户的有效性
checkSignerValid(ctx, operate.register)
var newOperate = Operate.defaultInstance
if (status.state) {
newOperate = operate.withOpValid(status.state).clearDisableTime
} else {
val disableTime = ctx.t.getSignature.getTmLocal
newOperate = operate.withOpValid(status.state).withDisableTime(disableTime)
}
ctx.api.setVal(operPrefix + status.opId, newOperate)
} else {
throw ContractException(toJsonErrMsg(registerNotTranPoster))
}
// 检查账户的有效性
checkSignerValid(ctx, operate.register)
var newOperate = Operate.defaultInstance
if (status.state) {
newOperate = operate.withOpValid(status.state).clearDisableTime
} else {
val disableTime = ctx.t.getSignature.getTmLocal
newOperate = operate.withOpValid(status.state).withDisableTime(disableTime)
}
ctx.api.setVal(operPrefix + status.opId, newOperate)
} else {
throw ContractException(toJsonErrMsg(operateNotExists))
}

View File

@ -30,6 +30,7 @@ object SignerOperation extends DidOperation {
/**
* 注册Signer
* 不公开权限比较高一般不授予出去
*
* @param ctx
* @param signer
@ -39,7 +40,7 @@ object SignerOperation extends DidOperation {
// 判断signer是否已经存在
if (ctx.api.getVal(signerPrefix + signer.creditCode) != null) {
throw ContractException(toJsonErrMsg(signerExists))
} else if (signer.creditCode.isEmpty) {
} else if (signer.creditCode.isBlank) {
// 校验creditCode是否为空不能为空
throw ContractException(toJsonErrMsg(creditCodeEmpty))
} else if (signer.certNames.nonEmpty || signer.authorizeIds.nonEmpty || signer.operateIds.nonEmpty || signer.credentialMetadataIds.nonEmpty) {
@ -99,6 +100,7 @@ object SignerOperation extends DidOperation {
/**
* 禁用或启用Signer
* 不公开权限比较高一般不授予出去
*
* @param ctx
* @param status

View File

@ -86,7 +86,7 @@ object CreateGenesisInfo {
val snls = List("transaction.stream", "transaction.postTranByString", "transaction.postTranStream", "transaction.postTran")
//生成Operate
var op: Operate = null
if (i == 3 || i == 4 || i == 11) {
if (i == 3 || i == 4 || i ==7 || i == 8 || i == 9 || i ==10 || i == 11) {
// 公开操作无需授权普通用户可以绑定给自己的证书
op = rep.protos.peer.Operate(opsOfContract(i)._1, opsOfContract(i)._2, super_credit, true, OperateType.OPERATE_CONTRACT,
snls, "*", opsOfContract(i)._3, Option(Timestamp(millis / 1000, ((millis % 1000) * 1000000).toInt)),