FAQ

Updated at:

Transaction mechanics

Are transactions stored in real time?

No. Blockchain transactions are asynchronous — unlike traditional transactional databases, writes are not committed synchronously. The system supports up to 25,000 notarization transactions per second.

How does BaaS sync with a relational database?

Two approaches are available:

  • Subscribe to block notifications and pull updates on demand.

  • Use the business view system.

Security and privacy

Are public and private keys legally recognized?

Yes. BaaS uses a legally recognized certificate that Alipay uses to access a third party.

How is notarization data kept private?

All notarization data is encrypted. Only authorized users can decrypt it.

Troubleshooting

My client initialized successfully but cannot communicate with the blockchain. The log shows the following — what's wrong?

connect to /123.12.XX.XX:8080 success!
old is not null, async resend subscribe events

This is almost always a misconfiguration. Verify that the private key file, password, and certificate file in your client configuration are all correct.

What do I do when TimeoutException is thrown after the client initializes?

java.util.concurrent.TimeoutException
    at com.alipay.mychain.gl.biz.common.AbstractTransport.sendTwoWayAndSync(AbstractTransport.java:205)

The client cannot reach the blockchain node. To diagnose:

  1. Get the node host and port from sdk.properties.

  2. Run telnet <node-host> <node-port> to confirm connectivity.

  3. Verify that the paths in sdk.properties for the private key, certificate, and trust.keystore files are correct.

Certificate and key management

How do I create a private key and certificate signing request (CSR) on Windows?

Use OpenSSL version 1.0.2o. Version 1.1.0 has a known bug when extracting private keys.

Download OpenSSL 1.0.2o from the official OpenSSL page.

Backup download links:

After installing, open a Command Prompt and run the following commands:

  1. Navigate to the OpenSSL directory.

    cd <Openssl_path>
  2. Set the configuration file.

    set OPENSSL_CONF=openssl.cfg
  3. Generate a private key and CSR.

    openssl req -newkey rsa:2048 -keyout key_pkcs10.pem -out csr.pem

    You will be prompted to fill in certificate details:

    FieldDescriptionExample
    Country name2-letter ISO codeCN
    State or province nameFull nameShanghai
    Locality nameCityShanghai
    Organization nameCompany namePinyin of company name
    Organizational unit nameDepartmentIT Dept
    Common nameIdentity used for SSL encryptionYour domain or identifier
    Email address(Optional)
    Challenge password(Optional)
    Optional company name(Optional)
  4. Convert the private key from PKCS #10 to PKCS #8.

    openssl pkcs8 -in key_pkcs10.pem -inform PEM -out pkcs8.pem -outform PEM -topk8

Smart contract deployment

Why does smart contract deployment fail on Cloud IDE?

Each smart contract name must be unique on the blockchain. On the test blockchain — where many users share the same environment — name conflicts are common. Rename the smart contract and try again.