Professional Documents
Culture Documents
COLLEGE OF ENGINEERING,
BENGALURU-560059
(Autonomous Institution Affiliated to
VTU, Belagavi)
TITLE
EXPERIENTIAL LEARNING REPORT
Submitted by:
Faculty In charge
Name:Deepika Dash
CERTIFICATE
It is certified that the Experiential learning titled ‘Case Study on Blockchain development
tool called “Ganache”’ is carried out by Rashmitha(RVCE22BEI049), who are bonafide students
of R.V College of Engineering, Bengaluru, during the first semester, in the year 2022-2023. It is
also certified that all corrections/suggestions indicated for the Internal Assessment have been
incorporated in the report. The report has been approved as it satisfies the academic requirements
in respect of Experiential learning.
Marks awarded
Our sincere thanks to Dr. CH Renu Madhavi, Professor and Head, Department of
Computer Science and Engineering, RVCE for his support and encouragement.
We express sincere gratitude to our beloved Principal, Dr. K. N. Subramanya for his
appreciation towards this Experiential Learning Project work.
Lastly, we take this opportunity to thank our family members and friends who
provided all the backup support throughout the project work.
Web3 development has never been more in vogue with frantic activity in the Web3
and decentralized application (dApp) fields. This is partly due to the fact
that Web3 development still has not evolved to the same extent as traditional Web2
development. This, by extension, is not particularly strange, since as the dApp scene
remains somewhat in its infancy. However, Web3 development is still booming, and
there are some useful tools and platforms to aid development.
The Ganache Truffles tool can help in testing your smart contracts on a local
blockchain. As a result, you can easily avoid the unwanted transaction costs required
for testing and deploying contracts until you ensure that they are perfectly flawless.
Ganache is a local Blockchain development tool that is used to test and deploy smart
contracts
2. Corda Workspace:
a. Nodes: The page includes an outline of all the nodes and notaries
featured on the network.
b. CorDapps: The section presents a list of all the CorDapp jars you
have installed on the network.
c.Logs: The Logs section provides an outline of the different logs
for the Ganache server, notaries, and nodes, which serve promising use
cases in debugging.
d.Transactions: The Corda workspace in Ganache features a list of
all the transactions in this section.
e. Shell: The Shell section in the Corda workspace delivers Corda
CRaSH shell access to all nodes and notaries.
In truffle console
truffle(ganache)> const hello = await Hello.deployed()
truffle(ganache)> const address = await hello.address
truffle(ganache)> address
'0x46C00D73bF785000B3c3F93569E84415AB2381f2'
require("chai")
.use(require("chai-as-promised"))
.should()
// this would attach the deployed smart contract and its methods
// to the `truffleTutorial` variable before all other tests are run
before(async () => {
hello = await Hello.deployed()
})
assert.notEqual(address, '')
assert.notEqual(address, undefined)
assert.notEqual(address, null)
assert.notEqual(address, 0x0)
})
describe('message', () => {
// check if owner can set new message, check if setMessage works
it('contract owner sets a message', async () => {
// set new message
await hello.setMessage('Hi there!', { from: contractOwner })
// `from` helps us identify by any address in the test
Contract: Hello
deployment
✓ deploys successfully
✓ has a message (236ms)
message
✓ contract owner sets a message (165ms)
✓ address that is not the owner fails to set a message (250ms)
4 passing (735ms)