This box gives you a boilerplate to get up and running quickly with Drizzle & Truffle on a Kaleido chain.
First ensure you are in a new and empty directory.
- Run the
unbox
command withnpx
and skip to step 3. This will install all necessary dependencies.
npx truffle unbox kaleido-io/drizzle-kaleido-box
- Alternatively, you can install Truffle globally and then run the
unbox
command.
npm install -g truffle
truffle unbox kaleido-io/drizzle-kaleido-box
- Run the development console. This will instantiate a local chain for you to test that Truffle is working properly.
truffle develop
- Ensure that you're able to both compile, test, and finally migrate your contracts to your local chain.
compile
test
migrate
- If everything looks good, you can exit the Truffle console with
.exit
.
-
In Kaleido, select the node you want to connect to, then choose
+ Connect Node
. -
Select
Native JSON/RPC
-
Choose an application credential to use for this connection.
-
Choose the
Truffle Suite
connection type. -
Copy the connection info from this panel into the respective variables inside of
truffle-config.js
. If you are using Quorum in this environment, ensure to uncomment thetype: "quorum"
property on your network object.
const appCred = 'yourappcred';
const connectionURL = 'nodeConnectionURL';
type: 'quorum' // Use this property for Quorum environments
- Migrate your contracts to your Kaleido chain!
truffle migrate
-
In the
Networks
switcher in MetaMask, chooseCustom RPC
. -
Find the
New Network
section, and clickAdvanced Options
. Add theMetaMask RPC URL
from the connect panel, and give your network a nickname.
- Open the
/app
directory and start the development server.
cd app && npm run start
-
The development server will open a browser at
http://localhost:3000
by default. -
Attempt to change the
Stored Value
ofSimpleStorage
-- you should see the refresh icon until the transaction is confirmed, at which point theStored Value
ofSimpleStorage
should automatically update.