Help Center > > API Reference> BCS APIs> Chaincode Invoking API

Chaincode Invoking API

Updated at: May 29, 2020 GMT+08:00

Function

This API is used to invoke and query the instantiated chaincodes of deployed BCS services.

URI

POST /v1/chaincode/operation

Request Message

Table 1 Message fields

Parameter

Mandatory

Type

Description

channelId

Yes

String

Channel ID in a blockchain.

chaincodeId

Yes

String

Chaincode ID.

chaincodeVersion

No

String

Chaincode version.

userId

Yes

String

User ID issued by the organization CA. Currently, the default value generated for BCS is User1.

orgId

Yes

String

Organization ID in a blockchain.

orgPeers

Yes

String

A character string consisting of the organization ID and domain name of each peer in an organization. The format is as follows:

[{"orgId":"7258adda1803f4137eff4813e7aba323018200c5","peerDomainName":"peer-7258adda1803f4137eff4813e7aba323018200c5-0.peer-7258adda1803f4137eff4813e7aba323018200c5.default.svc.cluster.local"}]

opmethod

Yes

String

Purpose, that is, to invoke or query chaincodes.

args

Yes

String

Arguments, for example, ["Invoke", "a", "b", "1"]

timestamp

Yes

String

For example, 2018-10-31T17:28:16+08:00.

cert

Yes

String

User certificate file, which is uploaded in the form of a character string.

For details on how to obtain the values of the preceding parameters, see Chaincode Management and Block Browser.

  • On the Chaincode Management page, click in front of a chaincode to view its details, including the version, installation, and instantiation information.
  • On the Block Browser page, select a channel to view real-time blockchain information, including the block quantity, transaction quantity, block details, transaction details, performance, and peer statuses.
  • To ensure transaction security, you must use the private key in the Fabric user certificate (downloaded by following instructions in Downloading the User Certificate) to sign the request body. Currently, only the ECDSA encryption method is supported. Other encryption algorithms such as Chinese cryptographic algorithms are not supported. Then, place the signature result in the x-bcs-signature-sign field in the request header.

Response Message

  • If opmethod is invoke, the transactionID encrypted and encoded using Base64 is returned.
  • If opmethod is query, the query result returned by the chaincode is also encrypted and encoded using Base64.

Example

Invoking a chaincode

  • Example request
    {
      "channelId": "testchannel",
      "chaincodeId": "zmmcode",
      "chaincodeVersion": "1.0",
      "userId": "User1",
      "orgId": "7258adda1803f4137eff4813e7aba323018200c5", 
      "orgPeers": "[{\"orgId\":\"7258adda1803f4137eff4813e7aba323018200c5\",\"peerDomainName\":\"peer-7258adda1803f4137eff4813e7aba323018200c5-0.peer-7258adda1803f4137eff4813e7aba323018200c5.default.svc.cluster.local\"}]",
      "opmethod": "invoke",
      "args": "[\"invoke\",\"a\",\"b\",\"1\"]",
      "timestamp": "2018-10-31T17:28:16+08:00",
      "cert": "-----BEGIN CERTIFICATE-----\nMIIDBzCCAq2gAwIBAgIQEXPZlMsReamxVtVNnKwCCzAKBggqhkjOPQQDAjCCAQQx\nDjAMBgNVBAYTBUNISU5BMRAwDgYDVQQIEwdCRUlKSU5HMRAwDgYDVQQHEwdCRUlK\nSU5HMXkwdwYDVQQKE3A3MjU4YWRkYTE4MDNmNDEzN2VmZjQ4MTNlN2FiYTMyMzAx\nODIwMGM1LnBlZXItNzI1OGFkZGExODAzZjQxMzdlZmY0ODEzZTdhYmEzMjMwMTgy\nMDBjNS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsMVMwUQYDVQQDE0pjYS5wZWVy\nLTcyNThhZGRhMTgwM2Y0MTM3ZWZmNDgxM2U3YWJhMzIzMDE4MjAwYzUuZGVmYXVs\ndC5zdmMuY2x1c3Rlci5sb2NhbDAeFw0xODEwMzAwMjQ5MjZaFw0yODEwMjcwMjQ5\nMjZaMIG1MQ4wDAYDVQQGEwVDSElOQTEQMA4GA1UECBMHQkVJSklORzEQMA4GA1UE\nBxMHQkVJSklORzF/MH0GA1UEAwx2VXNlcjFANzI1OGFkZGExODAzZjQxMzdlZmY0\nODEzZTdhYmEzMjMwMTgyMDBjNS5wZWVyLTcyNThhZGRhMTgwM2Y0MTM3ZWZmNDgx\nM2U3YWJhMzIzMDE4MjAwYzUuZGVmYXVsdC5zdmMuY2x1c3Rlci5sb2NhbDBZMBMG\nByqGSM49AgEGCCqGSM49AwEHA0IABPMrzoJL/MHeSFPFOJWLqnJ0sqB0it7wDIOq\n+eTSvvPpGk1BIDmb2n13K5V04RO8xNezDQ7I6rW4LF2elq14eH+jTTBLMA4GA1Ud\nDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIFBXQ5TC4acFeTlT\nJuDZg62XkXCdnOfvbejSeKI2TXoIMAoGCCqGSM49BAMCA0gAMEUCIQCadHIKl0Mk\nYn0WZizyDZYR4rT2q0nzjFaiW+YfV5FBjAIgNalKUe3rIwXJvXORV4ZXurEua2Ag\nQmhcjRnVwPTjpTE=\n-----END CERTIFICATE-----\n"
    }
  • Example response
     After  invoke the count of a is 188  b is  262

Status Code

For details, see Status Code.

Did you find this page helpful?

Submit successfully!

Thank you for your feedback. Your feedback helps make our documentation better.

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel