Trust-Based Smart Contract for Automated Agent to Agent Communication
Table 3
Technologies used for the realization of the system.
Technologies
Description
Blockchain
Ganache
A personal blockchain for local development. It allows to deploy smart contracts, develop applications, and run tests. Ganache provides 10 Ethereum accounts with a balance of 100 ether for each account, as well as a graphical interface to examine everything that happens in this blockchain.
Truffle
A framework that provides a suite of tools for developing Ethereum smart contracts and a client-side interface, testing and deploying smart contracts in any Ethereum network.
Ethereum
A distributed computing platform based on a public blockchain that can support advanced custom smart contracts using the turing-complete programming language.
Smart contract: solidity
An object-oriented programming language dedicated to writing smart contracts. It is used to implement smart contracts on various blockchains, including Ethereum
Web server
Meta mask
A plugin allows to transform a web browser into a blockchain browser. It also allows the management of blockchain accounts, as well as ether funds to pay transactions
Web3.js
A collection of libraries allowing interaction with a local or remote Ethereum node, using an HTTP or IPC connection in JSON RPC format.
Multi-agent system
Netlogo
A well-known and widely used cross-platform modeling and simulation environment for complex systems of simultaneously interacting agents, written on top of the Java virtual machine. Netlogo offers a wide range of generic features and operators to its users. In addition, to compensate for missing functionality, Netlogo is compatible with other platforms and libraries. Conversely, Netlogo can also be called and controlled by other programs. For this purpose, Netlogo provides a Java API.
Maven extension
A program construction management system developed by the Apache foundation. It is based on the definition and use of POM (project object model) files containing all the instructions guiding the correct construction of the program.