An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
besu/acceptance-tests/truffle-pet-shop-tutorial/README.md

78 lines
2.7 KiB

6 years ago
# Truffle Pet Shop example with Pantheon
Here you will find the bare bones of the [Pet Shop example](http://truffleframework.com/tutorials/pet-shop) and instructions to run it with Pantheon and a wallet to manage keys.
## Pre-requisites
* [Truffle](https://truffleframework.com/) installed
```
npm install -g truffle
```
* [Wallet](https://www.npmjs.com/package/truffle-privatekey-provider) installed
```
npm install truffle-privatekey-provider
```
## To run the pet shop example:
```
cd acceptance-tests/truffle-pet-shop-tutorial
```
* here you will find truffle.js which has network configurations for
* development (Ganache) and
* devwallet (points to localhost:8545)
* Note you don't need Ganache running unless you want to run the tests against it (see below)
* However this truffle.js uses address and private key generated by Ganache with default mnemonic "candy maple cake sugar pudding cream honey rich smooth crumble sweet treat"
* To run the Truffle example with Pantheon, you need Pantheon running
* [check out and build Pantheon](../../README.md)
* run Pantheon (either in IDE or via command line), with mining and rpc enabled. Eg:
```
cd $pantheon-working-dir
./gradlew run -Ppantheon.run.args="--miner-enabled --miner-coinbase 0x627306090abaB3A6e1400e9345bC60c78a8BEf57 --sync-mode FULL --no-discovery --dev-mode --rpc-enabled --rpc-api eth,net --rpc-cors-origins 'all'"
```
* Run Truffle migrate
```
truffle migrate --network devwallet
```
* Output should look something like:
```
Using network 'devwallet'.
Running migration: 1_initial_migration.js
Deploying Migrations...
... 0x2c16dd43c0adfe0c697279e388f531581c2b722e7f0e968e3e65e4345bdeb502
Migrations: 0xfb88de099e13c3ed21f80a7a1e49f8caecf10df6
Saving successful migration to network...
... 0x1135ea1dd6947f262d65dde8712d17b4b0ec0a36cc917772ce8acd7fe01ca8e2
Saving artifacts...
Running migration: 2_deploy_contracts.js
Deploying Adoption...
... 0xa3d220639719b8e007a7aa8cb18e8caf3587337b77bac833959f4853b1695369
Adoption: 0xf204a4ef082f5c04bb89f7d5e6568b796096735a
Saving successful migration to network...
... 0xd7245d7b1c0a7eb5a5198754f7edd7abdae3b806605b54ecc4716f9b4b05de61
Saving artifacts...
```
If migrate works, try running the tests
```
cd acceptance-tests/truffle-pet-shop-tutorial
truffle test --network devwallet
```
* Output should look something like:
```
Using network 'devwallet'.
Compiling ./contracts/Adoption.sol...
Compiling ./test/TestAdoption.sol...
Compiling truffle/Assert.sol...
Compiling truffle/DeployedAddresses.sol...
TestAdoption
✓ testUserCanAdoptPet (4050ms)
✓ testGetAdopterAddressByPetId (5050ms)
✓ testGetAdopterAddressByPetIdInArray (4039ms)
✓ testUserCanUnadoptPet (5049ms)
4 passing (52s)
```