Skip to content

Commit b424e7c

Browse files
committed
Added migration files
1 parent 6670891 commit b424e7c

9 files changed

Lines changed: 158 additions & 0 deletions

migration/abw-migration.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Migration of Azure Blockchain Workbench from ABS to another ledger
2+
3+
With the deprecation of Azure Blockchain Service, users of the Azure Blockchain Workbench, that have chosen to use Azure Blockchain Service will need to adjust the RPC endpoint configured in ABW to ensure that post migration, the workflow and applications deployed with ABW will continue to function. Depending on the users desire for future ABW work, there are a few options.
4+
5+
## Option 1 - Migration from Azure Blockchain Service (moderate)
6+
7+
Migration from ABS to QBS or another Quorum stack is considered a supported scenario, however it will require some work of the user as the settings to reconfigure Azure Blockchain Workbench are internal to the service. The steps to perform this are:
8+
9+
1. First, request the export of the blockchain data from the Azure Blockchain Service instance. Once the export is completed, the new instance of Quorum needs to be created and running.
10+
11+
2. Next, open the Azure portal to the resource group containing the Azure Blockchain Workbench deployed resources.
12+
13+
3. Click on the SQL database, there should be only one.
14+
15+
4. Click on Query Editor.
16+
17+
5. Enter you DB username / password that was used to deploy the resources initially. `NOTE: You may need to whitelist the Azure IP for access.`
18+
19+
6. Run the following command to view the Connections to ledgers. `SELECT * FROM [dbo].[Connection]`
20+
21+
7. Now update the update the connection with the new RPC endpoint. `UPDATE [dbo].[Connection] SET EndPointURL = <your new rpc endpoint> WHERE Id = <id of connection>`
22+
23+
8. Now navigate back to the resource group and open the Azure Key Vault resource.
24+
25+
9. Add your AAD profile to the Access Policies.
26+
27+
10. Select `SET, GET, LIST` under Secrets for access.
28+
29+
11. Click Save.
30+
31+
12. Click on Secrets.
32+
33+
13. Click on `blockchainRpcConnectionString` secret.
34+
35+
14. Click add new version.
36+
37+
15. Paste the new RPC endpoint in the secret and save.
38+
39+
## Option 2 - Creating a new Azure Blockchain Workbench instance, connecting to a migrated ABS instance (easy)
40+
41+
Another option is to create a new instance of Azure Blockchain Workbench, connected to the migrated of Quorum either via QBS or manually. The steps to perform this are:
42+
43+
1. First, request the export of the blockchain data from the Azure Blockchain Service instance. Once the export is completed, the new instance of Quorum needs to be created and running.
44+
45+
2. Next, create a new instance of Azure Blockchain Workbench and in the advanced settings use the RPC endpoint of the Quorum node created in step 1.
46+
47+
```
48+
The ability to attach an existing ABW instance to a new blockchain ledger is not supported
49+
```

migration/logic-app-migration.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
# Migration from ABS to Quorum Standalone for Logic Apps using Ethereum
2+
3+
With the deprecation of Azure Blockchain Service, users of the Ethereum connectors for Logics App will need to adjust the connection used by the Logic App to use the updated ledger RPC endpoint. Listed below are the steps to modify existing Logic Apps.
4+
5+
## Connection Manager
6+
7+
The Logic App connectors for Ethereum require an account that will perform the transaction with the Ethereum endpoint, so in addition to the new endpoint, an account will be required. There are a few options here.
8+
9+
- Member Account - If the Logic App connection was setup to use the member account with ABS, the user will need to provide the password that was used when the transaction node in Azure Blockchain Service was provisioned.
10+
11+
- Private Key - If the Logic App used the Private Key option for the account when setup, the user can simply provide the same Private Key for the update.
12+
13+
- Account Unknown - If the Logic App was provisioned with either the Member Account or Private Key and the user does not have the password or key, a new keyfile can be generated and used.
14+
15+
### Member Account
16+
17+
For the member account:
18+
19+
1. Open the Logic App Designer
20+
21+
![Logic App Designer](media/designer.png)
22+
23+
2. Expand the Ethereum section
24+
25+
![Ethereum Logic App Section](media/ethereum.png)
26+
27+
3. Click Change connection.
28+
29+
![Change Ethereum connection](media/connection.png)
30+
31+
4. Click Add new button
32+
33+
![Add new connection](media/addnew.png)
34+
35+
5. Provide a new name for the connection, the new Ethereum endpoint, the account address, and the account password.
36+
37+
![Add connection details](media/addconnectiondetails.png)
38+
39+
```
40+
NOTE: The account address here will be the same account address that was available in Azure Blockchain Service. The migration of ABS to QBS brings these accounts over to the new infrastructure, with only the password required to unlock the account provided by the user.
41+
```
42+
43+
### Private Key
44+
45+
For the private key:
46+
47+
1. Open the Logic App Designer
48+
49+
![Logic App Designer](media/designer.png)
50+
51+
2. Expand the Ethereum section
52+
53+
![Ethereum Logic App Section](media/ethereum.png)
54+
55+
3. Click Change connection.
56+
57+
![Change Ethereum connection](media/connection.png)
58+
59+
4. Click Add new button
60+
61+
![Add new connection](media/addnew.png)
62+
63+
5. Provide a new name for the connection, the new Ethereum endpoint, and the private key.
64+
65+
![Add connection details](media/addconnectiondetails-pk.png)
66+
67+
```
68+
NOTE: The private key used here will be a valid private key for a key pair generated for use with Ethereum.
69+
```
70+
71+
### Account Unknown
72+
73+
If the account is unknown, a new keyfile will need to be created and added to the node.
74+
75+
1. Generate a new keyfile
76+
77+
a. To generate a new keyfile, the geth client can be used. This can be downloaded [here](https://geth.ethereum.org/downloads/).
78+
79+
b. After downloading the geth client, create a new keyfile by running the following:
80+
81+
```
82+
./geth account new --datadir /
83+
84+
NOTE: This will prompt for a password used to encrypt the private key and will provide the address and location of the key file.
85+
```
86+
87+
![Key Generation completion](media/newkey.png)
88+
89+
2. Add the keyfile to the VM node that will be used for the transaction.
90+
91+
3. Open the Logic App Designer
92+
93+
![Logic App Designer](media/designer.png)
94+
95+
4. Expand the Ethereum section
96+
97+
![Change Ethereum connection](media/connection.png)
98+
99+
5. Click Change connection.
100+
101+
![Change Ethereum connection](media/connection.png)
102+
103+
6. Click Add new button
104+
105+
![Add new connection](media/addnew.png)
106+
107+
7. Provide a new name for the connection, the new Ethereum endpoint, the account address, and the account password.
108+
109+
![Add connection details](media/addconnectiondetails.png)
77.2 KB
Loading
65.3 KB
Loading

migration/media/addnew.png

89.8 KB
Loading

migration/media/connection.png

58.9 KB
Loading

migration/media/designer.png

74.7 KB
Loading

migration/media/ethereum.png

147 KB
Loading

migration/media/newkey.png

75.5 KB
Loading

0 commit comments

Comments
 (0)