Один узел корда не работает - PullRequest
0 голосов
/ 24 апреля 2020

Я разработал один образец шнура приложения. Всего имеется 4 узла (нотариус, дилер, производитель и HDF C). Все узлы успешно работают, кроме узла Дилер. Я получаю ошибку ниже. Я также делюсь файлом build.gradle.

скриншот ошибки

task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
    nodeDefaults {
        projectCordapp {
            deploy = false
        }
        cordapp project(':contracts')
        cordapp project(':workflows')
    }
    node {
        name "O=Notary,L=London,C=GB"
        notary = [validating : false]
        p2pPort 10002
        rpcSettings {
            address("localhost:10003")
            adminAddress("localhost:10043")
        }
    }
    node {
        name "O=Dealer,L=London,C=GB"
        p2pPort 10005
        rpcSettings {
            address("localhost:10006")
            adminAddress("localhost:10046")
        }
        rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL"]]]
    }
    node {
        name "O=Manufacturer,L=New York,C=US"
        p2pPort 10006
        rpcSettings {
            address("localhost:10009")
            adminAddress("localhost:10049")
        }
        rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL"]]]
    }
    node {
        name "O=HDFC,L=New York,C=US"
        p2pPort 10008
        rpcSettings {
            address("localhost:10012")
            adminAddress("localhost:10052")
        }
        rpcUsers = [[ user: "user1", "password": "test", "permissions": ["ALL"]]]
    }
}

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020
  • Всегда не забывайте правильно отключать узлы, набирая bye внутри каждого терминала узла (включая нотариуса); в противном случае вы столкнетесь с текущей проблемой (какой-то процесс Java все еще выделяет порт, необходимый для определенного узла).
  • Лично мне не нравится использовать команду runNodes и ее окно XTerm; Я предпочитаю делать следующее:
    1. Перейти к определенному узлу: cd /path-to-project/build/nodes/PartyA
    2. Запустить узел: java -jar corda.jar
    3. Чтобы закрыть узел: bye
0 голосов
/ 24 апреля 2020

Вы, похоже, получаете проблему с привязкой порта, что означает, что порты 10046 и 10006 уже используются в вашей системе.

Либо измените порты в блоке конфигурации вашего узла в файле build.gradle, или уничтожьте процессы, запущенные в вашем порту.

Linux

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

lsof -i :<portNumber>

Используйте приведенную ниже команду, чтобы убить процесс.

kill <process_id>

Windows

Если вы находитесь на windows, посмотрите этот пост SO, чтобы найти убийство процесс на порту: Как узнать, какой процесс прослушивает порт на Windows?

...