1. createWeId

基本信息

  1. 接口名称:com.webank.weid.rpc.WeIdService.createWeId
  2. 接口定义:ResponseData<CreateWeIdDataResult> createWeId()
  3. 接口描述: 内部创建公私钥,并链上注册WeIdentity DID 并返回公钥、私钥以及WeIdentity DID

接口入参: 无

接口返回: com.webank.weid.protocol.response.ResponseData<CreateWeIdDataResult>;

名称类型说明备注
errorCodeInteger返回结果码
errorMessageString返回结果描述
resultCreateWeIdDataResult 见下
transactionInfoTransactionInfo交易信息

com.webank.weid.protocol.response.TransactionInfo

名称类型说明备注
blockNumberBigInteger交易块高
transactionHashString交易hash
transactionIndexBigInteger交易索引

com.webank.weid.protocol.response.CreateWeIdDataResult

名称类型说明备注
weIdString公钥WeIdentity DID格式字符串格式: did:weid:0x………………….
userWeIdPublicKeyWeIdPublicKey
userWeIdPrivateKeyWeIdPrivateKey

com.webank.weid.protocol.base.WeIdPublicKey

名称类型说明备注
publicKeyString数字公钥如下调用示例返回,使用十进制数字表示

com.webank.weid.protocol.base.WeIdPrivateKey

名称类型说明备注
privateKeyString私钥如下调用示例返回,使用十进制数字表示

此方法返回code

enumcodedesc
SUCCESS0成功
WEID_KEYPAIR_CREATE_FAILED100107创建密钥对失败
TRANSACTION_TIMEOUT160001超时
TRANSACTION_EXECUTE_ERROR160002交易错误
WEID_PRIVATEKEY_DOES_NOT_MATCH100106私钥和weid不匹配
UNKNOW_ERROR160003其他错误

调用示例

  1. WeIdService weIdService = new WeIdServiceImpl();
  2. ResponseData<CreateWeIdDataResult> response = weIdService.createWeId();
  1. 输出结果如下:
  2. result:(com.webank.weid.protocol.response.CreateWeIdDataResult)
  3. weId: did:weid:101:0xf4e5f96de0627960c8b91c1cc126f7b5cdeacbd0
  4. userWeIdPublicKey:(com.webank.weid.protocol.base.WeIdPublicKey)
  5. publicKey: 3140516665390655972698269231665028730625296545812754612198268107926656717368563044260511639762256438305037318801307432426840176526241566631412406151716674
  6. userWeIdPrivateKey:(com.webank.weid.protocol.base.WeIdPrivateKey)
  7. privateKey: 70694712486452850283637015242845250545254342779640874305734061338958342229003
  8. errorCode: 0
  9. errorMessage: success
  10. transactionInfo:(com.webank.weid.protocol.response.TransactionInfo)
  11. blockNumber: 30005
  12. transactionHash: 0x7e4fcacdd296f10936e53d64c7d6470dd4ffa52e22405c86ed8f72389419821f
  13. transactionIndex: 0

时序图

sequenceDiagram调用者->>WeIdentity SDK: 调用CreateWeID()WeIdentity SDK->>WeIdentity SDK: 创建公私钥对WeIdentity SDK->>区块链节点: 调用智能合约区块链节点->>区块链节点: 以事件的方式记录created属性和public key属性区块链节点->>区块链节点: 记录当前的最新块高区块链节点—>>WeIdentity SDK: 创建成功WeIdentity SDK—>>调用者:新创建好的WeIdentity DID以及公私钥对