Как подключить Azure Blockchain Service и приложение Logi c к триггеру «Когда происходит умный контракт» - PullRequest
0 голосов
/ 06 февраля 2020

Мой рабочий процесс такой.

a

Входной журнал

{
    "method": "get",
    "queries": {
        "abi": "[\n    {\n      \"inputs\": [],\n      \"payable\": false,\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"constructor\"\n    },\n    {\n      \"anonymous\": false,\n      \"inputs\": [\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"_from\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": true,\n          \"internalType\": \"address\",\n          \"name\": \"_to\",\n          \"type\": \"address\"\n        },\n        {\n          \"indexed\": false,\n          \"internalType\": \"uint256\",\n          \"name\": \"_value\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"Transfer\",\n      \"type\": \"event\"\n    },\n    {\n      \"constant\": false,\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"receiver\",\n          \"type\": \"address\"\n        },\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"amount\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"name\": \"sendCoin\",\n      \"outputs\": [\n        {\n          \"internalType\": \"bool\",\n          \"name\": \"sufficient\",\n          \"type\": \"bool\"\n        }\n      ],\n      \"payable\": false,\n      \"stateMutability\": \"nonpayable\",\n      \"type\": \"function\"\n    },\n    {\n      \"constant\": true,\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"addr\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"getBalanceInEth\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"payable\": false,\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    },\n    {\n      \"constant\": true,\n      \"inputs\": [\n        {\n          \"internalType\": \"address\",\n          \"name\": \"addr\",\n          \"type\": \"address\"\n        }\n      ],\n      \"name\": \"getBalance\",\n      \"outputs\": [\n        {\n          \"internalType\": \"uint256\",\n          \"name\": \"\",\n          \"type\": \"uint256\"\n        }\n      ],\n      \"payable\": false,\n      \"stateMutability\": \"view\",\n      \"type\": \"function\"\n    }\n  ]",
        "contractAddress": "0x03985eF62D7776bc5047A9Ee531aA0e7dbb5962c",
        "eventName": "Transfer"
    },
    "path": "/contract/OnNewEvent",
    "host": {
        "connection": {
            "name": "/subscriptions/90660d8a-4446-4255-a65f-9b0ff071c1df/resourceGroups/diggluegroup/providers/Microsoft.Web/connections/blockchainethereum-1"
        }
    }
}

выходной журнал

{
    "statusCode": 500,
    "headers": {
        "Pragma": "no-cache",
        "x-ms-request-id": "ba5917f1-3323-4c95-8898-b142e76c7f89",
        "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
        "X-Content-Type-Options": "nosniff",
        "X-Frame-Options": "DENY",
        "Timing-Allow-Origin": "*",
        "x-ms-apihub-cached-response": "true",
        "Cache-Control": "no-store, no-cache",
        "Date": "Thu, 06 Feb 2020 10:56:34 GMT",
        "Set-Cookie": "ARRAffinity=7fec6b3d494d502cd339a098a470860ddaf458b68c32b8ce8e190c362de93b94;Path=/;HttpOnly;Domain=blockchainethereum-eus.azconn-eus-01.p.azurewebsites.net",
        "Content-Length": "481",
        "Content-Type": "application/json",
        "Expires": "-1"
    },
    "body": {
        "error": {
            "code": 500,
            "source": "logic-apis-eastus.azure-apim.net",
            "clientRequestId": "ba5917f1-3323-4c95-8898-b142e76c7f89",
            "message": "BadGateway",
            "innerError": {
                "status": 500,
                "message": "Source array was not long enough. Check srcIndex and length, and the array's lower bounds.\r\nclientRequestId: ba5917f1-3323-4c95-8898-b142e76c7f89",
                "source": "blockchainethereum-eus.azconn-eus-01.p.azurewebsites.net"
            }
        }
    }
}

Я знаю, что нет достаточно информации, чтобы понять, в чем проблема, но кто-нибудь может дать подсказку о том, где может быть проблема.

Я создаю транзакции из RP C, и событие смарт-контракта обязательно запускается.

Я проверил правильность настройки соединения для SQL, выполнив другое приложение Logi c, и оно успешно завершено.

«Когда происходит событие контракта samrt» Событие только терпит неудачу, поэтому я думаю, что проблема связана с настройкой события смарт-контракта.

Ответы [ 3 ]

1 голос
/ 12 февраля 2020

Я попросил обработать модификатор indexed для поддержки.

0 голосов
/ 06 февраля 2020

Вот сообщение в блоге о том, как "Публикация и подписка на Azure события Blockchain Services с использованием Azure Logi c Apps". Я надеюсь, что это может помочь.

0 голосов
/ 06 февраля 2020

удаление indexed Исправлена ​​проблема с модификатором.

address indexed _from

TO

address _from
...