Key custody O&M APIs

Updated at:

This topic describes the parameters and provides examples for the key custody O&M APIs.

General information

  • Content-Type: application/json;charset=UTF-8

  • HTTP Method: POST

  • Request Path: /api/contract/chainCallForBiz

Common request parameters

Common request parameters are included in every API call.

Parameter name

Required

Type

Description

accessId

Yes

string

The AccessKey ID of the tenant.

token

Yes

string

The access token for authentication.

tenantid

Yes

string

The ID of the Alibaba Cloud account.

Note

To obtain the tenantid, hover the pointer over the profile picture in the upper-right corner of the console. In the user information box that appears, if the account is a root account, the displayed account ID is your Alibaba Cloud account ID.

Asynchronously deploy a WASM contract

DEPLOYWASMCONTRACTASYNC

Description: Asynchronously deploys a WASM contract that is signed by KMS.

  • Request parameters

    Parameter name

    Required

    Type

    Description

    orderId

    Yes

    string

    A unique request ID from your business for deduplication upon retries. This parameter is subject to a uniqueness check. If the request parameters or the API changes, ensure that the value passed in is unique each time. Otherwise, the call fails.

    bizid

    Yes

    string

    The blockchain ID.

    account

    Yes

    string

    The account name.

    contractName

    Yes

    string

    The contract name.

    contractCode

    Yes

    string

    The Base64-encoded contract code after the WASM contract is compiled.

    mykmsKeyId

    Yes

    string

    The mykmsKeyId that was used when the account was created.

    method

    Yes

    - Method

    - Enumeration

    DEPLOYWASMCONTRACTASYNC

    gas

    No

    Long

    The maximum gas for the call. This feature is not yet enabled. Set this parameter to 0L.

  • Return parameters

    Parameter

    Type

    Description

    success

    boolean

    Indicates whether the request was successful.

    code

    string

    The status code.

    data

    string

    - Success: The transaction hash of the WASM contract deployment.

    - Failed: Error message

  • Request example

    {
      "accessId":"baas_admin",
      "account":"devTestMasterGasProxyAccount",
      "bizid":"12eba21a66ed4d2795b833ce7ebd750c",
      "contractCode":"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QAJAAkAgAUFwTw0AAkACQAJAIAFBC08NACADIAFBAXQ6AEAgA0HAAGpBAXIhBiADQcAAaiEHIAENAQwCCyABQRBqQXBxIgcQIiEGIAMgATYCRCADIAdBAXI2AkAgAyAGNgJIIANBwABqIQcLIAZBACABEAEaCyAGIAFqQQA6AAAgAygCSCAHQQFqIgcgAy0AQEEBcRsgA0HMAGoQBhogA0EANgI4IANCADcDMCADKAJIIQggAygCRCEJIAMtAEAhASADQdAAakHcwAAgAhAsIANB4ABqQQhqIANB0ABqQe/AABApIgZBCGoiCigCADYCACAKQQA2AgAgAyAGKQIANwNgIAZCADcCACADIAggByABQQFxIgobIgYgCSABQQF2IAobajYCICADIAY2AhwgAyAGNgIYIANBJGogA0HgAGoQJSEHAkAgAy0AYEEBcUUNACADKAJoECMLAkAgAy0AUEEBcUUNACADKAJYECMLIANBGGogA0EwahAaGiADQSBqKAIAIQEgAygCHCEGIANB4ABqQdzAACACECwgASAGRiADQeAAahA0GgJAIAMtAGBBAXFFDQAgAygCaBAjCyADQZDBADYCECADQRBqIARBAXVqIQEgA0HQAGogA0EwahAlIQYCQCAEQQFxRQ0AIAEoAgAgBWooAgAhBQsgAyABIANB4ABqIAYQJSICIAURAAACQCADLQBgQQFxRQ0AIAIoAggQIwsCQCADLQBQQQFxRQ0AIAYoAggQIwsgA0HoAGpBADYCACADQgA3A2BBtsAAEAMiAUFwTw0BAkACQAJAIAFBC08NACADIAFBAXQ6AGAgA0HgAGpBAXIhBiABDQEMAgsgAUEQakFwcSICECIhBiADIAE2AmQgAyACQQFyNgJgIAMgBjYCaAsgBkG2wAAgARAHGgsgBiABakEAOgAAIAAgAyADQeAAahAbAkACQCADLQBgQQFxDQAgAy0AAEEBcQ0BDAQLIAMoAmgQIyADLQAAQQFxRQ0DCyADKAIIECNBASEBIActAABBAXFFDQMMBAsgA0HAAGoQJAALIANB4ABqECQAC0EBIQEgBy0AAEEBcQ0BCyADLQAwIAFxDQEMAgsgA0EsaigCABAjIAMtADAgAXFFDQELIANBOGooAgAQIyADLQBAQQFxRQ0BDAILIAMtAEBBAXENAQsgA0HwAGokAA8LIANByABqKAIAECMgA0HwAGokAAu9AwEEfyMAQTBrIgMkACADIAI2AiwgAyABNgIoIANBADYCICADQgA3AxggA0EQakEANgIAIANCADcDCAJAQYDAABADIgRBcE8NAAJAAkACQAJAAkAgBEELTw0AIAMgBEEBdDoACCAERQ0CIANBCGpBAXIhBQwBCyAEQRBqQXBxIgYQIiEFIAMgBDYCDCADIAZBAXI2AgggAyAFNgIQCyAFQYDAACAEEAcaIAUgBGpBADoAACADKAIcIgQgA0EYakEIaigCAE8NASAEIAMpAwg3AgAgBEEIaiADQQhqQQhqIgQoAgA2AgAgBEEANgIAIANCADcDCCADIAMoAhxBDGo2AhwMAgsgA0EIaiAEakEBakEAOgAACyADQRhqIANBCGoQFiADLQAIQQFxRQ0AIAMoAhAQIwsgAiABaiEFIANBKGogA0EYahAXGgJAIAMoAhgiAkUNAAJAAkAgAygCHCIBIAJGDQADQAJAIAFBdGoiBC0AAEEBcUUNACABQXxqKAIAECMLIAQhASACIARHDQALIAMoAhghBAwBCyACIQQLIAMgAjYCHCAEECMLIANBMGokACAFDwsgA0EIahAkAAvfBgEIfyMAQeAAayIDJAAgASgCBCEEIAEoAgAhBSADEAUiATYCXCADQdgAakEANgIAIANCADcDUAJAAkACQAJAAkAgAUFwTw0AAkACQAJAIAFBC08NACADIAFBAXQ6AFAgA0HQAGpBAXIhBiADQdAAaiEHIAENAQwCCyABQRBqQXBxIgcQIiEGIAMgATYCVCADIAdBAXI2AlAgAyAGNgJYIANB0ABqIQcLIAZBACABEAEaCyAGIAFqQQA6AAAgAygCWCAHQQFqIgcgAy0AUEEBcRsgA0HcAGoQBhogA0IANwNIIAMoAlghCCADKAJUIQkgAy0AUCEBIANBEGpB3MAAIAIQLCADQSBqQQhqIANBEGpB78AAECkiBkEIaiIKKAIANgIAIApBADYCACADIAYpAgA3AyAgBkIANwIAIAMgCCAHIAFBAXEiChsiBiAJIAFBAXYgChtqNgI4IAMgBjYCNCADIAY2AjAgA0E8aiADQSBqECUhBwJAIAMtACBBAXFFDQAgAygCKBAjCwJAIAMtABBBAXFFDQAgAygCGBAjCyADIANBMGo2AhAgAyADQcgAajYCICADQSBqIANBEGoQFCADQThqKAIAIQEgAygCNCEGIANBIGpB3MAAIAIQLCABIAZGIANBIGoQNBoCQCADLQAgQQFxRQ0AIAMoAigQIwsgA0GQwQA2AhAgA0EQaiAEQQF1aiEBIAMoAkwhBiADKAJIIQICQCAEQQFxRQ0AIAEoAgAgBWooAgAhBQsgAyABIAIgBiAFEQEANgIMIANBKGpBADYCACADQgA3AyBBtsAAEAMiAUFwTw0BAkACQAJAIAFBC08NACADIAFBAXQ6ACAgA0EgakEBciEGIAENAQwCCyABQRBqQXBxIgIQIiEGIAMgATYCJCADIAJBAXI2AiAgAyAGNgIoCyAGQbbAACABEAcaCyAGIAFqQQA6AAAgACADQQxqIANBIGoQFQJAAkAgAy0AIEEBcQ0AIActAABBAXENAQwECyADKAIoECMgBy0AAEEBcUUNAwsgA0HEAGooAgAQIyADLQBQQQFxRQ0DDAQLIANB0ABqECQACyADQSBqECQACyADLQBQQQFxDQELIANB4ABqJAAPCyADQdgAaigCABAjIANB4ABqJAALBwAgAiABagvfBgEIfyMAQeAAayIDJAAgASgCBCEEIAEoAgAhBSADEAUiATYCXCADQdgAakEANgIAIANCADcDUAJAAkACQAJAAkAgAUFwTw0AAkACQAJAIAFBC08NACADIAFBAXQ6AFAgA0HQAGpBAXIhBiADQdAAaiEHIAENAQwCCyABQRBqQXBxIgcQIiEGIAMgATYCVCADIAdBAXI2AlAgAyAGNgJYIANB0ABqIQcLIAZBACABEAEaCyAGIAFqQQA6AAAgAygCWCAHQQFqIgcgAy0AUEEBcRsgA0HcAGoQBhogA0IANwNIIAMoAlghCCADKAJUIQkgAy0AUCEBIANBEGpB3MAAIAIQLCADQSBqQQhqIANBEGpB78AAECkiBkEIaiIKKAIANgIAIApBADYCACADIAYpAgA3AyAgBkIANwIAIAMgCCAHIAFBAXEiChsiBiAJIAFBAXYgChtqNgI4IAMgBjYCNCADIAY2AjAgA0E8aiADQSBqECUhBwJAIAMtACBBAXFFDQAgAygCKBAjCwJAIAMtABBBAXFFDQAgAygCGBAjCyADIANBMGo2AhAgAyADQcgAajYCICADQSBqIANBEGoQGCADQThqKAIAIQEgAygCNCEGIANBIGpB3MAAIAIQLCABIAZGIANBIGoQNBoCQCADLQAgQQFxRQ0AIAMoAigQIwsgA0GQwQA2AhAgA0EQaiAEQQF1aiEBIAMoAkwhBiADKAJIIQICQCAEQQFxRQ0AIAEoAgAgBWooAgAhBQsgAyABIAIgBiAFEQEANgIMIANBKGpBADYCACADQgA3AyBBtsAAEAMiAUFwTw0BAkACQAJAIAFBC08NACADIAFBAXQ6ACAgA0EgakEBciEGIAENAQwCCyABQRBqQXBxIgIQIiEGIAMgATYCJCADIAJBAXI2AiAgAyAGNgIoCyAGQbbAACABEAcaCyAGIAFqQQA6AAAgACADQQxqIANBIGoQGQJAAkAgAy0AIEEBcQ0AIActAABBAXENAQwECyADKAIoECMgBy0AAEEBcUUNAwsgA0HEAGooAgAQIyADLQBQQQFxRQ0DDAQLIANB0ABqECQACyADQSBqECQACyADLQBQQQFxDQELIANB4ABqJAAPCyADQdgAaigCABAjIANB4ABqJAAL5wEBBX8jAEEQayICJAAgACgCACEDIAEoAgAiBCgCBCEFIAQoAgghBiACIARBDGpB8cAAEB4gBiAFa0EDSyACEDMCQCACLQAAQQFxRQ0AIAIoAggQIwsgAyAEQQRqIgQoAgBBBBAHGiAEIAQoAgBBBGo2AgAgACgCACEAIAEoAgAiBCgCCCEBIAQoAgQhAyACIARBDGpB8cAAEB4gASADa0EDSyACEDMgAEEEaiEAAkAgAi0AAEEBcUUNACACKAIIECMLIAAgBEEEaiIEKAIAQQQQBxogBCAEKAIAQQRqNgIAIAJBEGokAAv4AQEFfyMAQTBrIgMkACAAQgA3AgAgAEEIaiIEQQA2AgAgAEEIOgAAIABBAWoiBUEAQQQQARogAEEFakEAOgAAIAMgBCgCACAFIAAtAAAiBkEBcSIHGyIENgIMIAMgBDYCCCADIAQgACgCBCAGQQF2IAcbajYCECADQRRqIAIQJSEAIAMoAgwhBCADKAIQIQIgA0EgaiAAQcjAABAeIAIgBGtBA0ogA0EgahAzAkAgAy0AIEEBcUUNACADKAIoECMLIAMoAgwgAUEEEAcaIAMgAygCDEEEajYCDAJAIAAtAABBAXFFDQAgA0EcaigCABAjCyADQTBqJAALmgMCBn8BfgJAAkAgACgCBCICIAAoAgAiA2tBDG0iBEEBaiIFQdaq1aoBTw0AQdWq1aoBIQYCQAJAIAAoAgggA2tBDG0iB0Gp1arVAEsNACAFIAdBAXQiBiAGIAVJGyIGRQ0BCyAGQQxsECIhBSAAQQRqKAIAIQIgACgCACEDDAILQQAhBkEAIQUMAQsgABAtAAsgASkCACEIIAFCADcCACAFIARBDGxqIgQgCDcCACABQQhqIgEoAgAhByABQQA2AgAgBEEIaiAHNgIAIAUgBkEMbGohBiAEQQxqIQUCQAJAIAIgA0YNAANAIARBfGogAkF8aiIBKAIANgIAIARBdGoiBCACQXRqIgIpAgA3AgAgAUEANgIAIAJCADcCACADIAJHDQALIABBBGooAgAhAiAAKAIAIQEMAQsgAiEBCyAAIAQ2AgAgAEEIaiAGNgIAIABBBGogBTYCAAJAIAIgAUYNAANAAkAgAkF0aiIELQAAQQFxRQ0AIAJBfGooAgAQIwsgBCECIAEgBEcNAAsLAkAgAUUNACABECMLC+wOBwd/AX4BfwJ+Cn8Cfgl/IwBB0ABrIgIkACACQcgAakEANgIAIAJCADcDQAJAAkACQAJAQbbAABADIgNBcE8NAAJAAkACQCADQQtPDQAgAiADQQF0OgBAIAJBwABqQQFyIQQgAw0BDAILIANBEGpBcHEiBRAiIQQgAiADNgJEIAIgBUEBcjYCQCACIAQ2AkgLIARBtsAAIAMQBxoLIAQgA2pBADoAACACQRBqQQhqIgNBADYCACACQgA3AxAgAkEQOgAQIAJBEGpBAXIiBkEAQQgQARogAkEZakEAOgAAIAIgAygCACAGIAItABAiBEEBcSIFGyIDNgIkIAIgAzYCICACIAMgAigCFCAEQQF2IAUbajYCKCACQSxqIAJBwABqECUhAyACQSBqIAAQHRoCQCADLQAAQQFxRQ0AIAJBNGooAgAQIwsCQCACLQBAQQFxRQ0AIAIoAkgQIwsgASgCBCIHIAEoAgAiCGtBDG2tIQlBACEEA0AgBEEBaiEEIAlCB4giCUIAUg0ACyAIIAdGDQFBASEKQgchC0IAIQxBDCENQQAhDgwCCyACQcAAahAkAAtBACEDDAELQQEhAwsCQANAAkACQAJAAkACQAJAIAMOAgABAQsgAkEIakEANgIAIAJCADcDAAJAAkAgBEFwTw0AAkACQAJAIARBC08NACACIARBAXQ6AAAgAkEBciEPIAIhAyAEDQEMAgsgBEEQakFwcSIQECIhDyACIAQ2AgQgAiAQQQFyNgIAIAIgDzYCCCACIQMLIA9BACAEEAEaCyAPIARqQQA6AAAgAigCCCERIAIoAgQhDiACLQAAIRAgAkHIAGpBADYCACACQgA3A0BBtsAAEAMiD0FwTw0BIA4gEEEBdiAQQQFxIhAbIQ4gESADQQFqIhIgEBshEAJAAkACQCAPQQtPDQAgAiAPQQF0OgBAIAJBwABqQQFyIQMgDw0BDAILIA9BEGpBcHEiERAiIQMgAiAPNgJEIAIgEUEBcjYCQCACIAM2AkgLIANBtsAAIA8QBxoLIAMgD2pBADoAACACIBAgDmo2AiggAiAQNgIkIAIgEDYCICACQSBqQQxqIAJBwABqECUhEQJAIAItAEBBAXFFDQAgAigCSBAjCyABQQRqKAIAIAEoAgBrQQxtrSEJIAIoAiQhDyACQSBqQQhqIQ4DQCAJpyEQIAIgCUIHiCIJQgBSIgNBB3QgEEH/AHFyOgA/IA4oAgAhECACQcAAaiARQcjAABAeIBAgD2tBAEogAkHAAGoQMwJAIAItAEBBAXFFDQAgAkHAAGpBCGooAgAQIwsgAigCJCACQT9qQQEQBxogAiACKAIkQQFqIg82AiQgAw0AC0EEIRMgASgCACIUIAFBBGooAgAiFUYNCEEBIRBB/wAhFkIHIRdCACEYQQchGUEIIRogAkEgakEIaiEbQcjAACEcQQAhHUEPIR5Bt8AAIR9BDCEgQQEhDgwDCyACECQACyACQcAAahAkAAsCQAJAAkAgDg4CAAEBCwJAAkAgCC0AACIAIApxIgUNACAAIAp2IQMMAQsgCCgCBCEDCyADIAp0rSEJIAQhAwNAIAMgCmohAyAJIAuIIgkgDFINAAsCQAJAIAUNACAAIAp2IQAMAQsgCCgCBCEACyAAIAp0IANqIQQgCCANaiIIIAdHDQEgAEEBdCADaiEEQQAhAwwGCwJAAkAgFC0AACIDIBBxDQAgAyAQdiEDDAELIBQoAgQhAwsgAyAQdK0hCQNAIAmnIQMgAiAJIBeIIgkgGFIiDiAZdCADIBZxcjoAPyAbKAIAIQMgAkHAAGogESAcEB4gAyAPayAdSiACQcAAahAzAkAgAi0AQCAQcUUNACACQcAAaiAaaigCABAjCyACKAIkIAJBP2ogEBAHGiACIAIoAiQgEGoiDzYCJCAODQALIBQgEGohIUEAIQMgFC0AACIFIBBxIgBFDQIMAwtBACEOQQEhAwwEC0EBIQMMAwtBACEODAELQQEhDgsDQAJAAkACQAJAAkAgDg4CAAEBCyADIAUgEHZPDQIMAQsgAyAUIBNqKAIATw0BCyAhIQ4CQCAARQ0AIBQgGmooAgAhDgsgDyAOIANqLAAAIg4gE3YgHnEgH3otAAA6AAAgAiACKAIkIg8gEGo2AiQgDyAOIB5xIB9qLQAAOgABIAIgAigCJCAQaiIPNgIkIAMgEGohAyAULQAAIgUgEHEiAA0BQQAhDgwCCyAUICBqIhQgFUYNA0EBIQ5BASEDDAILQQEhDgwACwsLIAJBEGpBCGooAgAgBiACLQAQIg9BAXEiEBsgAigCFCAPQQF2IBAbIAJBCGooAgAgEiACLQAAIg9BAXEiEBsgAigCBCAPQQF2IBAbEAgaAkACQAJAAkACQCARLQAAQQFxDQAgAi0AAEEBcQ0BDAILIAJBNGooAgAQIyACLQAAQQFxRQ0BCyACQQhqKAIAECMgAi0AEEEBcQ0BDAILIAItABBBAXFFDQELIAJBGGooAgAQIwsgAkHQAGokAEEAC+cBAQV/IwBBEGsiAiQAIAAoAgAhAyABKAIAIgQoAgQhBSAEKAIIIQYgAiAEQQxqQfHAABAeIAYgBWtBA0sgAhAzAkAgAi0AAEEBcUUNACACKAIIECMLIAMgBEEEaiIEKAIAQQQQBxogBCAEKAIAQQRqNgIAIAAoAgAhACABKAIAIgQoAgghASAEKAIEIQMgAiAEQQxqQfHAABAeIAEgA2tBA0sgAhAzIABBBGohAAJAIAItAABBAXFFDQAgAigCCBAjCyAAIARBBGoiBCgCAEEEEAcaIAQgBCgCAEEEajYCACACQRBqJAAL+AEBBX8jAEEwayIDJAAgAEIANwIAIABBCGoiBEEANgIAIABBCDoAACAAQQFqIgVBAEEEEAEaIABBBWpBADoAACADIAQoAgAgBSAALQAAIgZBAXEiBxsiBDYCDCADIAQ2AgggAyAEIAAoAgQgBkEBdiAHG2o2AhAgA0EUaiACECUhACADKAIMIQQgAygCECECIANBIGogAEHIwAAQHiACIARrQQNKIANBIGoQMwJAIAMtACBBAXFFDQAgAygCKBAjCyADKAIMIAFBBBAHGiADIAMoAgxBBGo2AgwCQCAALQAAQQFxRQ0AIANBHGooAgAQIwsgA0EwaiQAC8ICAwR/AX4EfyMAQRBrIgIkACAAQQxqIQMgACgCBCEEQQAhBUIAIQYgAEEIaiEHIABBBGohCANAIAcoAgAhCSACIANB8cAAEB4gBCAJSSACEDMCQCACLQAAQQFxRQ0AIAJBCGooAgAQIwsgCCgCACIELQAAIQkgCCAEQQFqIgQ2AgAgBiAJQf8AcSAFQf8BcSIFdK2EIQYgBUEHaiEFIAlBgAFxDQALIAEgBqdBABAnIABBBGoiCSgCACEFIABBCGooAgAhCCABKAIIIQcgASgCBCEKIAEtAAAhBCACIANB8cAAEB4gCCAFayAKIARBAXYgBEEBcSIFGyIETyACEDMgByABQQFqIAUbIQUCQCACLQAAQQFxRQ0AIAIoAggQIwsgBSAJKAIAIAQQBxogCSAJKAIAIARqNgIAIAJBEGokACAAC8UCAwR/AX4CfyMAQSBrIgMkACABKAIEIgStQgAgAS0AACIFQQFxIgYbIQdBACEIA0AgCEEBaiEIIAdCB4giB0IAUg0ACyAAQgA3AgAgAEEIakEANgIAAkAgBCAFQQF2IAYbIgYgCGoiBEFwTw0AAkACQAJAIARBC08NACAAIARBAXQ6AAAgAEEBaiEFIAQNAQwCCyAEQRBqQXBxIgkQIiEFIAAgBDYCBCAAIAlBAXI2AgAgACAFNgIICyAFQQAgBBABGgsgBSAGaiAIakEAOgAAIAMgACgCCCAAQQFqIAAtAAAiBEEBcSIFGyIINgIMIAMgCDYCCCADIAggACgCBCAEQQF2IAUbajYCECADQRRqIAIQJSEIIANBCGogARAfGgJAIAgtAABBAXFFDQAgA0EcaigCABAjCyADQSBqJAAPCyAAECQAC+MNBwZ/AX4BfwJ+Cn8Cfgl/IwBB0ABrIgIkACACQRBqQQA2AgAgAkIANwMIAkACQAJAAkBBtsAAEAMiA0FwTw0AAkACQAJAIANBC08NACACIANBAXQ6AAggAkEIakEBciEEIAMNAQwCCyADQRBqQXBxIgUQIiEEIAIgAzYCDCACIAVBAXI2AgggAiAENgIQCyAEQbbAACADEAcaC0EAIQUgBCADakEAOgAAIAJBMGogACACQQhqEBsCQCACLQAIQQFxRQ0AIAIoAhAQIwsgASgCBCIGIAEoAgAiB2tBDG2tIQgDQCAFQQFqIQUgCEIHiCIIQgBSDQALIAcgBkYNAUEBIQlCByEKQgAhC0EMIQxBACENDAILIAJBCGoQJAALQQAhAwwBC0EBIQMLAkADQAJAAkACQAJAAkACQCADDgIAAQELIAJBKGpBADYCACACQgA3AyACQAJAIAVBcE8NAAJAAkACQCAFQQtPDQAgAiAFQQF0OgAgIAJBIGpBAXIhDiACQSBqIQMgBQ0BDAILIAVBEGpBcHEiDxAiIQ4gAiAFNgIkIAIgD0EBcjYCICACIA42AiggAkEgaiEDCyAOQQAgBRABGgsgDiAFakEAOgAAIAIoAighECACKAIkIQ0gAi0AICEPIAJByABqQQA2AgAgAkIANwNAQbbAABADIg5BcE8NASANIA9BAXYgD0EBcSIPGyENIBAgA0EBaiIRIA8bIQ8CQAJAAkAgDkELTw0AIAIgDkEBdDoAQCACQcAAakEBciEDIA4NAQwCCyAOQRBqQXBxIhAQIiEDIAIgDjYCRCACIBBBAXI2AkAgAiADNgJICyADQbbAACAOEAcaCyADIA5qQQA6AAAgAiAPIA1qNgIQIAIgDzYCDCACIA82AgggAkEIakEMaiACQcAAahAlIRACQCACLQBAQQFxRQ0AIAIoAkgQIwsgAUEEaigCACABKAIAa0EMba0hCCACKAIMIQ4gAkEIakEIaiENA0AgCKchDyACIAhCB4giCEIAUiIDQQd0IA9B/wBxcjoAPyANKAIAIQ8gAkHAAGogEEHIwAAQHiAPIA5rQQBKIAJBwABqEDMCQCACLQBAQQFxRQ0AIAJBwABqQQhqKAIAECMLIAIoAgwgAkE/akEBEAcaIAIgAigCDEEBaiIONgIMIAMNAAtBBCESIAEoAgAiEyABQQRqKAIAIhRGDQhBASEPQf8AIRVCByEWQgAhF0EHIRhBCCEZIAJBCGpBCGohGkHIwAAhG0EAIRxBDyEdQbfAACEeQQwhH0EBIQ0MAwsgAkEgahAkAAsgAkHAAGoQJAALAkACQAJAIA0OAgABAQsCQAJAIActAAAiBCAJcSIADQAgBCAJdiEDDAELIAcoAgQhAwsgAyAJdK0hCCAFIQMDQCADIAlqIQMgCCAKiCIIIAtSDQALAkACQCAADQAgBCAJdiEEDAELIAcoAgQhBAsgBCAJdCADaiEFIAcgDGoiByAGRw0BIARBAXQgA2ohBUEAIQMMBgsCQAJAIBMtAAAiAyAPcQ0AIAMgD3YhAwwBCyATKAIEIQMLIAMgD3StIQgDQCAIpyEDIAIgCCAWiCIIIBdSIg0gGHQgAyAVcXI6AD8gGigCACEDIAJBwABqIBAgGxAeIAMgDmsgHEogAkHAAGoQMwJAIAItAEAgD3FFDQAgAkHAAGogGWooAgAQIwsgAigCDCACQT9qIA8QBxogAiACKAIMIA9qIg42AgwgDQ0ACyATIA9qISBBACEDIBMtAAAiACAPcSIERQ0CDAMLQQAhDUEBIQMMBAtBASEDDAMLQQAhDQwBC0EBIQ0LA0ACQAJAAkACQAJAIA0OAgABAQsgAyAAIA92Tw0CDAELIAMgEyASaigCAE8NAQsgICENAkAgBEUNACATIBlqKAIAIQ0LIA4gDSADaiwAACINIBJ2IB1xIB5qLQAAOgAAIAIgAigCDCIOIA9qNgIMIA4gDSAdcSAeai0AADoAASACIAIoAgwgD2oiDjYCDCADIA9qIQMgEy0AACIAIA9xIgQNAUEAIQ0MAgsgEyAfaiITIBRGDQNBASENQQEhAwwCC0EBIQ0MAAsLCyACKAI4IAJBMGpBAXIgAi0AMCIOQQFxIg8bIAIoAjQgDkEBdiAPGyACQShqKAIAIBEgAi0AICIOQQFxIg8bIAIoAiQgDkEBdiAPGxAIGgJAAkACQAJAAkAgEC0AAEEBcQ0AIAItACBBAXENAQwCCyACQRxqKAIAECMgAi0AIEEBcUUNAQsgAkEoaigCABAjIAItADBBAXENAQwCCyACLQAwQQFxRQ0BCyACQThqKAIAECMLIAJB0ABqJABBAAvJAQEFfyMAQRBrIgIkACAAKAIEIQMgACgCCCEEIAIgAEEMaiIFQcjAABAeIAQgA2tBA0ogAhAzAkAgAi0AAEEBcUUNACACKAIIECMLIABBBGoiAygCACABQQQQBxogAyADKAIAQQRqIgQ2AgAgAEEIaigCACEGIAIgBUHIwAAQHiAGIARrQQNKIAIQMyABQQRqIQECQCACLQAAQQFxRQ0AIAIoAggQIwsgAygCACABQQQQBxogAyADKAIAQQRqNgIAIAJBEGokACAAC80BAQZ/IABBADYCCCAAQgA3AgACQCABKAIEIAEtAAAiA0EBdiADQQFxGyIDIAIQAyIEaiIFQXBPDQAgAS0AACEGIAEoAgghBwJAAkACQCAFQQpLDQAgACADQQF0OgAAIABBAWohBSADDQEMAgsgBUEQakFwcSIIECIhBSAAQQRqIAM2AgAgACAIQQFyNgIAIABBCGogBTYCACADRQ0BCyAFIAcgAUEBaiAGQQFxGyADEAcaCyAFIANqQQA6AAAgACACIAQQKhoPCyAAECQAC98CAwJ/AX4FfyMAQSBrIgIkACABKAIEIAEtAAAiA0EBdiADQQFxG60hBCAAQQxqIQUgACgCBCEGIABBCGohByAAQQRqIQMDQCAEpyEIIAIgBEIHiCIEQgBSIglBB3QgCEH/AHFyOgAPIAcoAgAhCCACQRBqIAVByMAAEB4gCCAGa0EASiACQRBqEDMCQCACLQAQQQFxRQ0AIAJBEGpBCGooAgAQIwsgAygCACACQQ9qQQEQBxogAyADKAIAQQFqIgY2AgAgCQ0ACwJAIAFBBGooAgAgAS0AACIDQQF2IANBAXEiCBsiA0UNACAAQQhqKAIAIQkgASgCCCEHIAJBEGogBUHIwAAQHiAJIAZrIANOIAJBEGoQMyAHIAFBAWogCBshCAJAIAItABBBAXFFDQAgAigCGBAjCyAAQQRqIgYoAgAgCCADEAcaIAYgBigCACADajYCAAsgAkEgaiQAIAALAgALAgALOAECfwJAIABBASAAGyIBEC8iAA0AA0BBACEAQQAoAoxCIgJFDQEgAhECACABEC8iAEUNAAsLIAALDgACQCAARQ0AIAAQMgsLBQAQCQALwgEBA38gAEIANwIAIABBCGoiAkEANgIAAkAgAS0AAEEBcQ0AIAAgASkCADcCACACIAFBCGooAgA2AgAgAA8LAkAgASgCBCICQXBPDQAgASgCCCEDAkACQCACQQtPDQAgACACQQF0OgAAIABBAWohASACDQEgASACakEAOgAAIAAPCyACQRBqQXBxIgQQIiEBIAAgAjYCBCAAIARBAXI2AgAgACABNgIICyABIAMgAhAHGiABIAJqQQA6AAAgAA8LEAkAC4YCAQN/AkBBbiABayACSQ0AAkACQAJAIAAtAABBAXENACAAQQFqIQhBbyEJIAFB5v///wdNDQEMAgsgACgCCCEIQW8hCSABQeb///8HSw0BC0ELIQkgAUEBdCIKIAIgAWoiAiACIApJGyICQQtJDQAgAkEQakFwcSEJCyAJECIhAgJAIARFDQAgAiAIIAQQBxoLAkAgBkUNACACIARqIAcgBhAHGgsCQCADIAVrIgMgBGsiB0UNACACIARqIAZqIAggBGogBWogBxAHGgsCQCABQQpGDQAgCBAjCyAAIAI2AgggACADIAZqIgQ2AgQgACAJQQFyNgIAIAIgBGpBADoAAA8LEAkAC7gCAQN/AkACQAJAAkACQCAALQAAIgNBAXEiBA0AIANBAXYiBSABSQ0BDAILIAAoAgQiBSABTw0BCyABIAVrIgFFDQECQAJAAkAgBA0AQQohBUEKIANBAXYiBGsgAUkNAQwCCyAAKAIAIgNBfnFBf2oiBSAAKAIEIgRrIAFPDQELIAAgBSAEIAFqIAVrIAQgBEEAQQAQKCAALQAAIQMLAkACQCADQQFxDQAgAEEBaiEDDAELIAAoAgghAwsgAyAEaiACQf8BcSABEAEaIAQgAWohAQJAIAAtAABBAXENACAAIAFBAXQ6AAAgAyABakEAOgAADwsgACABNgIEIAMgAWpBADoAAA8LIAQNASAAIAFqQQFqQQA6AAAgACABQQF0OgAACw8LIAAoAgggAWpBADoAACAAIAE2AgQL2gEBA38CQEFvIAFrIAJJDQACQAJAAkAgAC0AAEEBcQ0AIABBAWohB0FvIQggAUHm////B00NAQwCCyAAKAIIIQdBbyEIIAFB5v///wdLDQELQQshCCABQQF0IgkgAiABaiICIAIgCUkbIgJBC0kNACACQRBqQXBxIQgLIAgQIiECAkAgBEUNACACIAcgBBAHGgsCQCADIAVrIARrIgNFDQAgAiAEaiAGaiAHIARqIAVqIAMQBxoLAkAgAUEKRg0AIAcQIwsgACACNgIIIAAgCEEBcjYCAA8LEAkAC9kBAQR/IAEQAyECAkACQAJAAkACQAJAIAAtAAAiA0EBcSIEDQBBCiEFQQogA0EBdiIDayACSQ0BDAILIAAoAgBBfnFBf2oiBSAAKAIEIgNrIAJPDQELIAAgBSADIAJqIAVrIAMgA0EAIAIgARAmDAELIAJFDQAgBA0BIABBAWohBQwCCyAADwsgACgCCCEFCyAFIANqIAEgAhAHGiADIAJqIQICQCAALQAAQQFxDQAgACACQQF0OgAAIAUgAmpBADoAACAADwsgACACNgIEIAUgAmpBADoAACAAC9MBAQN/AkACQAJAAkACQAJAIAAtAAAiA0EBcSIEDQBBCiEFQQogA0EBdiIDayACSQ0BDAILIAAoAgBBfnFBf2oiBSAAKAIEIgNrIAJPDQELIAAgBSADIAJqIAVrIAMgA0EAIAIgARAmDAELIAJFDQAgBA0BIABBAWohBQwCCyAADwsgACgCCCEFCyAFIANqIAEgAhAHGiADIAJqIQICQCAALQAAQQFxDQAgACACQQF0OgAAIAUgAmpBADoAACAADwsgACACNgIEIAUgAmpBADoAACAAC7EBAQJ/AkACQAJAAkACQCAALQAAIgVBAXEiBg0AIAVBAXYhBSAEQX9HDQEMAgsgACgCBCEFIARBf0YNAQsgBSABSQ0AIAUgAWsiBSACIAUgAkkbIQICQCAGDQAgAEEBaiEAIAQgAiACIARLIgYbIgVFDQMMAgsgACgCCCEAIAQgAiACIARLIgYbIgUNAQwCCxAJAAsgACABaiADIAUQCiIBRQ0AIAEPC0F/IAYgAiAESRsLlwMBBX8gAEEANgIIIABCADcCAAJAAkACQAJAIAEQAyIDIAIoAgQgAi0AACIEQQF2IARBAXEbIgRqIgVBcE8NAAJAAkACQCAFQQpLDQAgACADQQF0OgAAIABBAWohBSADDQEMAgsgBUEQakFwcSIGECIhBSAAQQRqIAM2AgAgACAGQQFyNgIAIABBCGogBTYCACADRQ0BCyAFIAEgAxAHGgsgBSADakEAOgAAIAJBAWohAyACLQAAQQFxIQUgAigCCCECAkACQCAALQAAIgZBAXEiBw0AQQohASACIAMgBRshA0EKIAZBAXYiAmsgBEkNAQwDCyACIAMgBRshAyAAKAIAQX5xQX9qIgEgAEEEaigCACICayAETw0CCyAAIAEgAiAEaiABayACIAJBACAEIAMQJgwCCxAJAAsgBEUNACAAQQhqKAIAIABBAWogBxsiBSACaiADIAQQBxogAiAEaiECIAAtAABBAXENASAAIAJBAXQ6AAAgBSACakEAOgAADwsPCyAAQQRqIAI2AgAgBSACakEAOgAACwUAEAkACwIACwoAQZjCACAAEDAL/wQBDX8jAEHwAGsiAiQAAkAg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ZSI6ICJpbnQzMiIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYiIsCiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAiaW50MzIiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJyZXN1bHRzIjogWyJpbnQzMiJdCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3RBZGRVbnNpZ25lZCIsCiAgICAgICAgICAgICJiYXNlIjogIiIsCiAgICAgICAgICAgICJmaWVsZHMiOiBbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiAiYSIsCiAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAidWludDMyIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJiIiwKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJ1aW50MzIiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJyZXN1bHRzIjogWyJ1aW50MzIiXQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ICJ0ZXN0U3RyaW5nIiwKICAgICAgICAgICAgImJhc2UiOiAiIiwKICAgICAgICAgICAgImZpZWxkcyI6IFsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAibmFtZSI6ICJhIiwKICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIF0sCiAgICAgICAgICAgICJyZXN1bHRzIjogWyJzdHJpbmciXQogICAgICAgIH0KICAgIF0sCiAgICAidHlwZXMiOiBbXSwKICAgICJpbnRlcmZhY2VzIjogWwogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAidGVzdEFkZCIsCiAgICAgICAgICAgICJ0eXBlIjogInRlc3RBZGQiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjogInRlc3RBZGRVbnNpZ25lZCIsCiAgICAgICAgICAgICJ0eXBlIjogInRlc3RBZGRVbnNpZ25lZCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICAgIm5hbWUiOiAidGVzdFN0cmluZyIsCiAgICAgICAgICAgICJ0eXBlIjogInRlc3RTdHJpbmciCiAgICAgICAgfQogICAgXSwKICAgICJ0YWJsZXMiOiBbXSwKICAgICJ2YXJpYW50cyI6IFtdLAogICAgImFiaV9leHRlbnNpb25zIjogW10KfQ==",
      "contractName":"wasm_test_contract_with_log_0001",
      "gas":0,
      "method":"DEPLOYWASMCONTRACTASYNC",
      "mykmsKeyId":"6bSP3PxxORGJC1CN123456789",
      "orderId":"27400aec-2ac8-486b-8779-7ec9a4095bbb",
      "tenantid":"ORGJC1CN",
      "token":"24a0ac8f-ec85-484a-bf74-87bfc58461fd",
    }
  • Response parameters

    {
      "code":"200",
      "data":"aa592756048e80d397a6bd5d27de2c0fcbce1c478e7b471865a3ed880683b636",
      "success":true
    }

Deploy a Solidity contract

DEPLOYCONTRACTFORBIZASYNC

Description: Asynchronously deploys a Solidity contract that is signed by KMS.

  • Request parameters

    Parameter name

    Required

    Type

    Description

    method

    Yes

    - Method

    - enumeration

    DEPLOYCONTRACTFORBIZASYNC

    orderId

    Yes

    string

    A unique request ID from your business for deduplication upon retries. This parameter is subject to a uniqueness check. If the request parameters or the API changes, ensure that the value passed in is unique each time. Otherwise, the call fails.

    bizid

    Yes

    string

    The blockchain ID.

    account

    Yes

    string

    The account name.

    contractName

    Yes

    string

    The contract name.

    contractCode

    Yes

    string

    The hexadecimal-encoded contract code after the Solidity contract is compiled using solc.

    mykmsKeyId

    Yes

    string

    The mykmsKeyId that was used when the account was created.

    methodSignature

    No

    string

    The initialization method signature.

    inputParamListStr

    No

    string

    The list of initialization parameters.

    gas

    No

    Long

    The maximum gas for the call. This feature is not yet enabled. Set this parameter to 0L.

  • Return parameters

    Parameter name

    Type

    Description

    success

    boolean

    Indicates whether the request was successful.

    code

    string

    The status code.

    data

    string

    - Success: A transaction hash is returned.

    - Failure: Error message

  • Request example

    {
      "accessId":"baas_admin",
      "account":"devTestMasterGasProxyAccount",
      "bizid":"12eba21a66ed4d2795b833ce7ebd750c",
      "contractCode":"608060405234801561001057600080fd5b506103c1806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637c3ffef214610051578063eb56c0be1461009c575b600080fd5b34801561005d57600080fd5b506100866004803603810190808035906020019092919080359060200190929190505050610230565b6040518082815260200191505060405180910390f35b3480156100a857600080fd5b50610149600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919291929050505061027c565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561018d578082015181840152602081019050610172565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156101f35780820151818401526020810190506101d8565b50505050905090810190601f1680156102205780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b60007fc524bf8cd36068262e2a0cd9d00c8b20b7ea41dd8bf839ac83914553c34481218383604051808381526020018281526020019250505060405180910390a1818301905092915050565b6060807fbd6bffddecba8690050e53821267cd9ada8a478c3f7aefc97c7b7ac3e92c74068484604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156102e65780820151818401526020810190506102cb565b50505050905090810190601f1680156103135780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561034c578082015181840152602081019050610331565b50505050905090810190601f1680156103795780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a183839150915092509290505600a165627a7a72305820ffd85423c883ad1801791c128d9d1f2be4e507cbf2af92579cdbc713358ead0f0029",
      "contractName":"solidity_test_contract_with_event_0001",
      "gas":0,
      "method":"DEPLOYCONTRACTFORBIZ",
      "mykmsKeyId":"6bSP3PxxORGJC1CN123456789",
      "orderId":"fcd59291-1c1d-46c4-955c-10c16cb5f937",
      "tenantid":"ORGJC1CN",
      "token":"9744edd3-d18c-4d2a-bb88-7b833861c417",
    }
  • Response example

    {
      "code":"200",
      "data":"{\"txData\":{\"data\":{\"success\":true,\"transactionReceipt\":{\"output\":\"AWCAYEBSYAQ2EGEATFdgADV8AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACQBGP/////FoBjfD/+8hRhAFFXgGPrVsC+FGEAnFdbYACA/Vs0gBVhAF1XYACA/VtQYQCGYASANgOBAZCAgDWQYCABkJKRkIA1kGAgAZCSkZBQUFBhAjBWW2BAUYCCgVJgIAGRUFBgQFGAkQOQ81s0gBVhAKhXYACA/VtQYQFJYASANgOBAZCAgDWQYCABkIIBgDWQYCABkICAYB8BYCCAkQQCYCABYEBRkIEBYEBSgJOSkZCBgVJgIAGDg4CChDeCAZFQUFBQUFCRkpGSkIA1kGAgAZCCAYA1kGAgAZCAgGAfAWAggJEEAmAgAWBAUZCBAWBAUoCTkpGQgYFSYCABg4OAgoQ3ggGRUFBQUFBQkZKRkpBQUFBhAnxWW2BAUYCAYCABgGAgAYOBA4NShYGBUYFSYCABkVCAUZBgIAGQgIODYABbg4EQFWEBjVeAggFRgYQBUmAggQGQUGEBclZbUFBQUJBQkIEBkGAfFoAVYQG6V4CCA4BRYAGDYCADYQEACgMZFoFSYCABkVBbUIOBA4JShIGBUYFSYCABkVCAUZBgIAGQgIODYABbg4EQFWEB81eAggFRgYQBUmAggQGQUGEB2FZbUFBQUJBQkIEBkGAfFoAVYQIgV4CCA4BRYAGDYCADYQEACgMZFoFSYCABkVBbUJRQUFBQUGBAUYCRA5DzW2AAf8Ukv4zTYGgmLioM2dAMiyC36kHdi/g5rIORRVPDRIEhg4NgQFGAg4FSYCABgoFSYCABklBQUGBAUYCRA5ChgYMBkFCSkVBQVltgYIB/vWv/3ey6hpAFDlOCEmfNmtqKR4w/eu/JfHt6w+ksdAaEhGBAUYCAYCABgGAgAYOBA4NShYGBUYFSYCABkVCAUZBgIAGQgIODYABbg4EQFWEC5leAggFRgYQBUmAggQGQUGECy1ZbUFBQUJBQkIEBkGAfFoAVYQMTV4CCA4BRYAGDYCADYQEACgMZFoFSYCABkVBbUIOBA4JShIGBUYFSYCABkVCAUZBgIAGQgIODYABbg4EQFWEDTFeAggFRgYQBUmAggQGQUGEDMVZbUFBQUJBQkIEBkGAfFoAVYQN5V4CCA4BRYAGDYCADYQEACgMZFoFSYCABkVBbUJRQUFBQUGBAUYCRA5Chg4ORUJFQklCSkFBWAKFlYnp6cjBYIP/YVCPIg60YAXkcEo2dHyvk5QfL8q+SV5zbxxM1jq0PACk=\",\"result\":0}},\"success\":true,\"txHash\":\"587fdca11cb458ad14e7fe9bb81da3d4cf8d753010a7457b8cd1bd6da1c891b7\"}}",
      "success":true
    }

Asynchronously update a contract

UPDATECONTRACTFORBIZASYNC

Description: Asynchronously updates a contract that is signed by KMS.

  • Request parameters

    Parameter name

    Required

    Type

    Description

    orderId

    Yes

    string

    A unique request ID from your business for deduplication upon retries. This parameter is subject to a uniqueness check. If the request parameters or the API changes, ensure that the value passed in is unique each time. Otherwise, the call fails.

    bizid

    Yes

    string

    The blockchain ID.

    account

    Yes

    string

    The account name.

    vmTypeEnum

    Yes

    string

    The contract type. Valid values: EVM and WASM.

    contractName

    Yes

    string

    The contract name.

    contractCode

    Yes

    string

    The Base64-encoded contract code compiled from WASM.

    mykmsKeyId

    Yes

    string

    The mykmsKeyId that was used when the account was created.

    method

    Yes

    - Method

    - enumeration

    UPDATECONTRACTFORBIZASYNC

    gas

    No

    Long

    The maximum gas for the call. This feature is not yet enabled. Set this parameter to 0L.

  • Return parameters

    Parameter name

    Type

    Description

    success

    boolean

    Indicates whether the request was successful.

    code

    string

    The status code.

    data

    string

    - Success: The transaction hash for the contract update.

    - Failed: An error message is returned.

  • Request example

    {
      "accessId":"baas_admin",
      "account":"devTestMasterGasProxyAccount",
      "bizid":"12eba21a66ed4d2795b833ce7ebd750c",
      "contractCode":"NjA4MDYwNDA1MjM0ODAxNTYxMDAxMDU3NjAwMDgwZmQ1YjUwNjEwM2MxODA2MTAwMjA2MDAwMzk2MDAwZjMwMDYwODA2MDQwNTI2MDA0MzYxMDYxMDA0YzU3NjAwMDM1N2MwMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwOTAwNDYzZmZmZmZmZmYxNjgwNjM3YzNmZmVmMjE0NjEwMDUxNTc4MDYzZWI1NmMwYmUxNDYxMDA5YzU3NWI2MDAwODBmZDViMzQ4MDE1NjEwMDVkNTc2MDAwODBmZDViNTA2MTAwODY2MDA0ODAzNjAzODEwMTkwODA4MDM1OTA2MDIwMDE5MDkyOTE5MDgwMzU5MDYwMjAwMTkwOTI5MTkwNTA1MDUwNjEwMjMwNTY1YjYwNDA1MTgwODI4MTUyNjAyMDAxOTE1MDUwNjA0MDUxODA5MTAzOTBmMzViMzQ4MDE1NjEwMGE4NTc2MDAwODBmZDViNTA2MTAxNDk2MDA0ODAzNjAzODEwMTkwODA4MDM1OTA2MDIwMDE5MDgyMDE4MDM1OTA2MDIwMDE5MDgwODA2MDFmMDE2MDIwODA5MTA0MDI2MDIwMDE2MDQwNTE5MDgxMDE2MDQwNTI4MDkzOTI5MTkwODE4MTUyNjAyMDAxODM4MzgwODI4NDM3ODIwMTkxNTA1MDUwNTA1MDUwOTE5MjkxOTI5MDgwMzU5MDYwMjAwMTkwODIwMTgwMzU5MDYwMjAwMTkwODA4MDYwMWYwMTYwMjA4MDkxMDQwMjYwMjAwMTYwNDA1MTkwODEwMTYwNDA1MjgwOTM5MjkxOTA4MTgxNTI2MDIwMDE4MzgzODA4Mjg0Mzc4MjAxOTE1MDUwNTA1MDUwNTA5MTkyOTE5MjkwNTA1MDUwNjEwMjdjNTY1YjYwNDA1MTgwODA2MDIwMDE4MDYwMjAwMTgzODEwMzgzNTI4NTgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDE4ZDU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDE3MjU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTAxYmE1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDgzODEwMzgyNTI4NDgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDFmMzU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDFkODU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTAyMjA1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDk0NTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwZjM1YjYwMDA3ZmM1MjRiZjhjZDM2MDY4MjYyZTJhMGNkOWQwMGM4YjIwYjdlYTQxZGQ4YmY4MzlhYzgzOTE0NTUzYzM0NDgxMjE4MzgzNjA0MDUxODA4MzgxNTI2MDIwMDE4MjgxNTI2MDIwMDE5MjUwNTA1MDYwNDA1MTgwOTEwMzkwYTE4MTgzMDE5MDUwOTI5MTUwNTA1NjViNjA2MDgwN2ZiZDZiZmZkZGVjYmE4NjkwMDUwZTUzODIxMjY3Y2Q5YWRhOGE0NzhjM2Y3YWVmYzk3YzdiN2FjM2U5MmM3NDA2ODQ4NDYwNDA1MTgwODA2MDIwMDE4MDYwMjAwMTgzODEwMzgzNTI4NTgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDJlNjU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDJjYjU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTAzMTM1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDgzODEwMzgyNTI4NDgxODE1MTgxNTI2MDIwMDE5MTUwODA1MTkwNjAyMDAxOTA4MDgzODM2MDAwNWI4MzgxMTAxNTYxMDM0YzU3ODA4MjAxNTE4MTg0MDE1MjYwMjA4MTAxOTA1MDYxMDMzMTU2NWI1MDUwNTA1MDkwNTA5MDgxMDE5MDYwMWYxNjgwMTU2MTAzNzk1NzgwODIwMzgwNTE2MDAxODM2MDIwMDM2MTAxMDAwYTAzMTkxNjgxNTI2MDIwMDE5MTUwNWI1MDk0NTA1MDUwNTA1MDYwNDA1MTgwOTEwMzkwYTE4MzgzOTE1MDkxNTA5MjUwOTI5MDUwNTYwMGExNjU2MjdhN2E3MjMwNTgyMGZmZDg1NDIzYzg4M2FkMTgwMTc5MWMxMjhkOWQxZjJiZTRlNTA3Y2JmMmFmOTI1NzljZGJjNzEzMzU4ZWFkMGYwMDI5",
      "contractName":"solidity_test_contract_with_event_0001",
      "gas":0,
      "method":"UPDATECONTRACTFORBIZASYNC",
      "mykmsKeyId":"6bSP3PxxORGJC1CN123456789",
      "orderId":"24b42d9f-01e3-452e-ade1-491eccf1b235",
      "tenantid":"ORGJC1CN",
      "token":"f752d84c-52f5-4b2e-b988-1323b73303db",
      "vmTypeEnum":"EVM",
    }
  • Response example

    {
      "code":"200",
      "data":"1a7b7e1cfe1d184586e2bed05e5734038a3e40f1d33f086917c9b606b2fe9247",
      "success":true
    }

Create a key custody account

TENANTCREATEACCOUNT

Tenants can create blockchain accounts with hosted keys.

Important

Gas deduction is not supported for account creation.

  • Request parameters

    Parameter name

    Required

    Type

    Description

    orderId

    Yes

    string

    A unique request ID from your business for deduplication upon retries. This parameter is subject to a uniqueness check. If the request parameters or the API changes, ensure that the value passed in is unique each time. Otherwise, the call fails.

    bizid

    Yes

    string

    The blockchain ID.

    account

    Yes

    string

    The ID of the blockchain account that performs the creation.

    method

    Yes

    - Method

    Enumeration

    TENANTCREATEACCOUNT

    mykmsKeyId

    Yes

    string

    The KMS ID of the account that performs the creation.

    newAccountId

    Yes

    string

    The ID of the new blockchain account.

    newAccountKmsId

    Yes

    string

    The KMS ID of the new account.

    gas

    No

    Long

    The maximum gas for the call. This feature is not yet enabled. Set this parameter to 0L.

  • Return parameters

    Parameter name

    Type

    Description

    success

    boolean

    Indicates whether the request was successful.

    code

    string

    The status code.

    data

    string

    - Success: The public key for the new account.

    - Failed: An informational message.

  • Request example

    {
      "accessId":"baas_admin",
      "account":"devTestMasterGasProxyAccount",
      "bizid":"12eba21a66ed4d2795b833ce7ebd750c",
      "gas":0,
      "method":"TENANTCREATEACCOUNT",
      "mykmsKeyId":"6bSP3PxxORGJC1CN123456789",
      "newAccountId":"89acbd5e-02f9-4289-90e4-e7ba79bdce0e",
      "newAccountKmsId":"6c8fa98a-39db-4b84-9cb4-5fc2962eceef",
      "orderId":"5e5e58b7-16fe-489a-991c-16c2cbf9e406",
      "tenantid":"ORGJC1CN",
      "token":"c97c8245-7634-4eae-8824-f704c3ef7552"
    }
  • Response example

    {
      "code":"200",
      "data":"bc8661312dbca0b2d88dd3df8305ee2f78054c63297b5010b451f584b73ccd8078e779705fa7821723cb4e0448ec71bdef5ae359f6291a98368be41ccab4af73",
      "success":true
    }

Parse contract return values

  • Request Path: /api/contract/chainCallForBiz

  • Request parameters

    Parameter

    Required

    Type

    Description

    bizid

    Yes

    string

    The blockchain ID.

    orderId

    Yes

    string

    A unique request ID from your business for deduplication upon retries. This parameter is subject to a uniqueness check. If the request parameters or the API changes, ensure that the value passed in is unique each time. Otherwise, the call fails.

    method

    Yes

    Enumeration of methods

    PARSEOUTPUT

    vmTypeEnum

    Yes

    string

    The contract type. Valid values: EVM and WASM.

    content

    Yes

    string

    The `output` field of the receipt is first Base64-decoded to a byte array. Then, the byte array is hexadecimal-encoded and converted to a string.

    abi

    Yes

    string

    The parsing format, expressed in JSON format. Example: [\”bool\”,\”string\”,\”int\”]

  • Return value

    Parameter name

    Type

    Description

    success

    boolean

    Indicates whether the request was successful.

    code

    string

    The status code.

    data

    string

    The JSON string representation of the return value. Example: ["testouput"]

    Note

    The data field adds parameter items that correspond to the parameter list in the abi field as needed.

  • Request example

    {
      "accessId":"abc****",
      "bizid":"12eba21a66ed4d2795b833ce7ebd****",
      "content":"1dabca2190a****",
      "method":"PARSEOUTPUT",
      "orderId":"7c059fb0-4732-4815-ac33-c6b09487****",
      "tenantid":"ORSA****",
      "token":"c72aa5ce-e190-4876-a143-6281e0d9****",
      "vmTypeEnum": "EVM",
      "abi": "[\"string\"]"
    }
  • Response example

    {
     "code":"200",
      "data": ["testouput"],
      "success":true
    }