Commit 01d63892 authored by Konstantin Munichev's avatar Konstantin Munichev
Browse files

[dlt] Support for remote deployment

parent a26d6362
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -28,3 +28,4 @@ tasks.withType<KotlinCompile>() {
application {
    mainClass.set("MainKt")
}
+14 −0
Original line number Diff line number Diff line
-----BEGIN CERTIFICATE-----
MIICJzCCAc2gAwIBAgIUM7WUuNZcyI0J3BBh9eFlxOsY4a0wCgYIKoZIzj0EAwIw
MIICJzCCAc2gAwIBAgIUPP8sE6DhhkVuX810ayyMK/77Zf0wCgYIKoZIzj0EAwIw
cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTEyMTMzMzAwWhcNMzYxMTA4MTMzMzAw
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTE2MTM1NTAwWhcNMzYxMTEyMTM1NTAw
WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL0F
ui9MT98/o69MHruL95PgIAxRZi2mP2p7gUmtnloNUQGaL2g3Z6GyNhkHH4IDvfRJ
9iLZq9OCqDUMfZEAZm6jRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
AQH/AgEBMB0GA1UdDgQWBBQVa3OPpq/AE5p1DQ0Mso5k6BYBtTAKBggqhkjOPQQD
AgNIADBFAiEAnCgTuTugndbpJ89SQQjDtsfMaSNNVHz0qfM48cgpWHMCIF0oQMeS
+uaFc/EjaogACN3HI+A77Zyu94w9aiXMvs35
Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBe+
8KfXrwccQaq8BAkob7bFiDYOGQoHA/lilmpOHiowzW5NMbS6i+vRECK3t7T1QLV+
P3sVCPaXtcFW34iDphqjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
AQH/AgEBMB0GA1UdDgQWBBQXIoEUCo7pN9yWTKzuu5w2cgmxUjAKBggqhkjOPQQD
AgNIADBFAiEAlzGzFI91v9Ofbq2/GyhmD0ClMdIdhV4H9ZywL9iJ/wMCICPQYmRq
nx6WP9cTWh0HEVM8oWxlQJ8AtMQqNFHuLB1Y
-----END CERTIFICATE-----
+73 −0
Original line number Diff line number Diff line
{
    "name": "test-network-org1",
    "version": "1.0.0",
    "client": {
        "organization": "Org1",
        "connection": {
            "timeout": {
                "peer": {
                    "endorser": "300"
                }
            }
        }
    },
    "organizations": {
        "Org1": {
            "mspid": "Org1MSP",
            "peers": [
                "peer0.org1.example.com"
            ],
            "certificateAuthorities": [
                "ca.org1.example.com"
            ]
        }
    },
    "peers": {
        "peer0.org1.example.com": {
            "url": "grpcs://s2:7051",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\nMIICJzCCAc2gAwIBAgIUPP8sE6DhhkVuX810ayyMK/77Zf0wCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTE2MTM1NTAwWhcNMzYxMTEyMTM1NTAw\nWjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV\nBAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT\nY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBe+\n8KfXrwccQaq8BAkob7bFiDYOGQoHA/lilmpOHiowzW5NMbS6i+vRECK3t7T1QLV+\nP3sVCPaXtcFW34iDphqjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG\nAQH/AgEBMB0GA1UdDgQWBBQXIoEUCo7pN9yWTKzuu5w2cgmxUjAKBggqhkjOPQQD\nAgNIADBFAiEAlzGzFI91v9Ofbq2/GyhmD0ClMdIdhV4H9ZywL9iJ/wMCICPQYmRq\nnx6WP9cTWh0HEVM8oWxlQJ8AtMQqNFHuLB1Y\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer0.org1.example.com",
                "hostnameOverride": "peer0.org1.example.com"
            }
        },
        "peer0.org2.example.com": {
            "url": "grpcs://s2:9051",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\nMIICHjCCAcWgAwIBAgIUFKM/u+SoArOf8LaPzuNb+a/vyg8wCgYIKoZIzj0EAwIw\nbDELMAkGA1UEBhMCVUsxEjAQBgNVBAgTCUhhbXBzaGlyZTEQMA4GA1UEBxMHSHVy\nc2xleTEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eub3Jn\nMi5leGFtcGxlLmNvbTAeFw0yMTExMTYxMzU1MDBaFw0zNjExMTIxMzU1MDBaMGwx\nCzAJBgNVBAYTAlVLMRIwEAYDVQQIEwlIYW1wc2hpcmUxEDAOBgNVBAcTB0h1cnNs\nZXkxGTAXBgNVBAoTEG9yZzIuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2NhLm9yZzIu\nZXhhbXBsZS5jb20wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQwFdmDU4/4Gzr6\nJjrbe6znK+QCbdt7wFbRDs3qn418MFgl4fs4x/LwDLCK/spQ4ovFSZpD7Cit8RLM\nzFT8a/rAo0UwQzAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBATAd\nBgNVHQ4EFgQUcHmxBBqyVYx0u5Gn2Av75fLB4twwCgYIKoZIzj0EAwIDRwAwRAIg\nNv/y6XtRg/k8PNdo1yOB6BAb+TuTStLs3WQOrcBMhgcCICCxl0jgIaYPXvxNE+8X\ntGKznq/sDoyzfz/dWUZh4Sdv\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "peer0.org2.example.com",
                "hostnameOverride": "peer0.org2.example.com"
            }
        }
    },
    "certificateAuthorities": {
        "ca.org1.example.com": {
            "url": "https://s2:7054",
            "caName": "ca-org1",
            "tlsCACerts": {
                "pem": [
                    "-----BEGIN CERTIFICATE-----\nMIICJzCCAc2gAwIBAgIUPP8sE6DhhkVuX810ayyMK/77Zf0wCgYIKoZIzj0EAwIw\ncDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH\nEwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTE2MTM1NTAwWhcNMzYxMTEyMTM1NTAw\nWjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV\nBAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT\nY2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBe+\n8KfXrwccQaq8BAkob7bFiDYOGQoHA/lilmpOHiowzW5NMbS6i+vRECK3t7T1QLV+\nP3sVCPaXtcFW34iDphqjRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG\nAQH/AgEBMB0GA1UdDgQWBBQXIoEUCo7pN9yWTKzuu5w2cgmxUjAKBggqhkjOPQQD\nAgNIADBFAiEAlzGzFI91v9Ofbq2/GyhmD0ClMdIdhV4H9ZywL9iJ/wMCICPQYmRq\nnx6WP9cTWh0HEVM8oWxlQJ8AtMQqNFHuLB1Y\n-----END CERTIFICATE-----\n"
                ]
            },
            "httpOptions": {
                "verify": false
            }
        }
    },
    "orderers": {
        "orderer0.example.com": {
            "url": "grpcs://s2:7050",
            "tlsCACerts": {
                "pem": "-----BEGIN CERTIFICATE-----\nMIICCjCCAbGgAwIBAgIUKks7IUGYSmAhC7w/iUjZCie5dr4wCgYIKoZIzj0EAwIw\nYjELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcg\nWW9yazEUMBIGA1UEChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUu\nY29tMB4XDTIxMTExNjEzNTUwMFoXDTM2MTExMjEzNTUwMFowYjELMAkGA1UEBhMC\nVVMxETAPBgNVBAgTCE5ldyBZb3JrMREwDwYDVQQHEwhOZXcgWW9yazEUMBIGA1UE\nChMLZXhhbXBsZS5jb20xFzAVBgNVBAMTDmNhLmV4YW1wbGUuY29tMFkwEwYHKoZI\nzj0CAQYIKoZIzj0DAQcDQgAEelV1EbjujRxVKnFnwWwVbZaO3t9xDRz4o9t7nHEb\nMIqCDuDEZ8wZ4N/Gt/9QToTgWvGOLW7w9x0QQ07AlPALoKNFMEMwDgYDVR0PAQH/\nBAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQEwHQYDVR0OBBYEFGiNPnPOIpCVoe/9\nDW2DAPUuAXOsMAoGCCqGSM49BAMCA0cAMEQCICll0GyPnXN84B6otL8xl+22uXYg\nxqk61hoMTui3LIqfAiA7YMtlFfcjgJLwGoxEvjaW6S6eS548/OZH6X5IEFjTXA==\n-----END CERTIFICATE-----\n"
            },
            "grpcOptions": {
                "ssl-target-name-override": "orderer0.example.com",
                "hostnameOverride": "orderer0.example.com"
            }
        }
    }
}

src/dlt/connection-org1.yaml

deleted100644 → 0
+0 −63
Original line number Diff line number Diff line
---
name: test-network-org1
version: 1.0.0
client:
  organization: Org1
  connection:
    timeout:
      peer:
        endorser: '300'
organizations:
  Org1:
    mspid: Org1MSP
    peers:
    - peer0.org1.example.com
    certificateAuthorities:
    - ca.org1.example.com
peers:
  peer0.org1.example.com:
    url: grpcs://localhost:7051
    tlsCACerts:
      pem: |
          -----BEGIN CERTIFICATE-----
          MIICJzCCAc2gAwIBAgIUM7WUuNZcyI0J3BBh9eFlxOsY4a0wCgYIKoZIzj0EAwIw
          cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
          EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
          Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTEyMTMzMzAwWhcNMzYxMTA4MTMzMzAw
          WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
          BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
          Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL0F
          ui9MT98/o69MHruL95PgIAxRZi2mP2p7gUmtnloNUQGaL2g3Z6GyNhkHH4IDvfRJ
          9iLZq9OCqDUMfZEAZm6jRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
          AQH/AgEBMB0GA1UdDgQWBBQVa3OPpq/AE5p1DQ0Mso5k6BYBtTAKBggqhkjOPQQD
          AgNIADBFAiEAnCgTuTugndbpJ89SQQjDtsfMaSNNVHz0qfM48cgpWHMCIF0oQMeS
          +uaFc/EjaogACN3HI+A77Zyu94w9aiXMvs35
          -----END CERTIFICATE-----
          
    grpcOptions:
      ssl-target-name-override: peer0.org1.example.com
      hostnameOverride: peer0.org1.example.com
certificateAuthorities:
  ca.org1.example.com:
    url: https://localhost:7054
    caName: ca-org1
    tlsCACerts:
      pem: 
        - |
          -----BEGIN CERTIFICATE-----
          MIICJzCCAc2gAwIBAgIUM7WUuNZcyI0J3BBh9eFlxOsY4a0wCgYIKoZIzj0EAwIw
          cDELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5vcnRoIENhcm9saW5hMQ8wDQYDVQQH
          EwZEdXJoYW0xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
          Lm9yZzEuZXhhbXBsZS5jb20wHhcNMjExMTEyMTMzMzAwWhcNMzYxMTA4MTMzMzAw
          WjBwMQswCQYDVQQGEwJVUzEXMBUGA1UECBMOTm9ydGggQ2Fyb2xpbmExDzANBgNV
          BAcTBkR1cmhhbTEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMT
          Y2Eub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL0F
          ui9MT98/o69MHruL95PgIAxRZi2mP2p7gUmtnloNUQGaL2g3Z6GyNhkHH4IDvfRJ
          9iLZq9OCqDUMfZEAZm6jRTBDMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAG
          AQH/AgEBMB0GA1UdDgQWBBQVa3OPpq/AE5p1DQ0Mso5k6BYBtTAKBggqhkjOPQQD
          AgNIADBFAiEAnCgTuTugndbpJ89SQQjDtsfMaSNNVHz0qfM48cgpWHMCIF0oQMeS
          +uaFc/EjaogACN3HI+A77Zyu94w9aiXMvs35
          -----END CERTIFICATE-----
          
    httpOptions:
      verify: false
+3 −5
Original line number Diff line number Diff line
@@ -11,22 +11,20 @@ fun connect(): Gateway {
    val walletPath = Paths.get("wallet")
    val wallet = Wallets.newFileSystemWallet(walletPath)
    // load a CCP
    val networkConfigPath = Paths.get("connection-org1.yaml")
    val networkConfigPath = Paths.get("config/connection-org1.json")
    val builder = Gateway.createBuilder()
    builder.identity(wallet, "appUser1").networkConfig(networkConfigPath).discovery(true)
    builder.identity(wallet, "appUser").networkConfig(networkConfigPath).discovery(true)
    return builder.connect()
}

fun main(args: Array<String>) {
    System.setProperty("org.hyperledger.fabric.sdk.service_discovery.as_localhost", "true")

    enrollAdmin()
    registerUser()

    // connect to the network and invoke the smart contract
    connect().use { gateway ->
        // get the network and contract
        val network: Network = gateway.getNetwork("mychannel")
        val network = gateway.getNetwork("dlt")
        val contract = network.getContract("basic")
        println("Submit Transaction: InitLedger creates the initial set of assets on the ledger.")
        contract.submitTransaction("InitLedger")
Loading