Solidity Project: Tender Voting
Project: Tender Voting
18.10.2020
Blockchain ecosystem: Ethereum
Programming Language: Solidity
Technologies: Ganache, Truffle, Metamask, Git
Github: here
Description: The application allows members of the tender committee to vote for the winner when evaluating participants. Such voting is open and immutable.
Results
Solidity Project: Improvement Stage
Project: Improvement Stage
17.10.2020
Blockchain ecosystem: Ethereum
Programming Language: Solidity
Technologies: Ganache, Truffle, Metamask, Git
Github: here
Description: Smart contract allows you to initiate Improvement Stage of the tender on the Blockchain network and submit improved commercial proposals.
Smart Contract
Screens
Solidity Project: Submitting Initial Commercial Offers
Project: Submitting Initial Commercial Offers
16.10.2020
Blockchain ecosystem: Ethereum
Programming Language: Solidity
Technologies: Ganache, Truffle, Metamask, Git
Github: here
Description: Smart contract allows you to initiate a tender on the Blockchain network and submit initial commercial proposals.
Smart Contract
Screens
Solidity Project: Registration For The Tender
Project: Registration For The Tender
15.10.2020
Blockchain ecosystem: Ethereum
Programming Language: Solidity
Technologies: Ganache, Truffle, Metamask, Git
Github: here
Description: The application allows you to register all companies to participate in the specified tender. Such registration is open and immutable. Then the specialist of the tender can eliminate the participants who did not send commercial offers.
Results
Training.eos.io Platform
Eos.io
via Training.eos.io Platform
06.02.2020
Online Educational Course “Smart Contracts 201”
The content of the modules:
Module 1: Assets
- Introduction to tokens
- The eosio.token contract
- The asset type
Module 2: Receiving Transfers
- on_notify, especially [[eosio::on_notify(“eosio.token::transfer”)]]
- The old way: custom apply()
Module 3: In-line Actions
- Review of the eosio.code permission
- require_recipient()
- Explanation of why we must use require_auth(get_self()) with require_recipient()
- <action type>.send(…), the action constructor (permission, action, data)
- Action wrappers
- Custom permissions
Module 4: Singletons
- Appropriate for single-row use cases, such as contract settings
- Using get() and set()
Module 5: Bonus Lab: Add a “Pot” to Tic Tac Toe Games
Module 6: Updating Table Schemas and Migrating Data
- Review of inability to update structure of contract table containing data
- Description of migration options, including the binary_extension wrapper
Module 7: Getting Data from the Outside World
- The Oracle Problem
- Potential exploits (frontrunning, collusion, etc.)
- Delphi
- Provable
- Native EOSIO Oracles
- LiquidOracles
Module 8: Organizing Action Parameters
- Action parameter list organization and serializiation
- Situations requiring packed parameters
Module 9: Randomness
- Recap of the need for determinism in blockchains
- Pseudo-randomness and its dangers
- Multi-party randomness
- Oracle-based randomness
Module 10: Scheduled and Recurring Actions
- Deprecated: deferred transactions
- Provable, LiquidOracles, and other methods for scheduling actions
- Using contract design to mitigate the need for scheduled actions
Module 11: User-Friendly Resource Management
- RAM Payer
- ONLY_BILL_FIRST_AUTHORIZER
Module 12: More to Explore: Interoperability and Testing Frameworks
- Intro to interoperability/IBC
- Survey of testing tools available for EOSIO smart contracts
Training.eos.io Platform
Eos.io
via Training.eos.io Platform
05.02.2020
Online Educational Course “Smart Contracts 101”
The content of the modules:
- Module 0: Survey of Prerequisite Knowledge
- Module 1: Smart Contracts on EOSIO
- Module 2: Getting Started with Smart Contract Development
- Module 3: Persistence with Multi-Index Tables
- Module 4: Secondary Indices
- Module 5: The ABI
- Module 6: Building Out Tic Tac Toe
- Module 7: Reading and Debugging EOSIO Code
- Module 8: Final Project
Project
Chainshot.com Platform
Chainshot by Alchemy
via Chainshot.com Platform
04.02.2020
Online Educational Course “Introduction to Solidity”
The content of the modules:
- Welcome to ChainShot. An Introduction to Learning with ChainShot
- Getting Started. Tips & Guides for Getting Started on your Journey
- Curriculum & Resources. Learn about the curriculum and discover some useful resources
- Understanding Solidity. Learn the Fundamentals of Solidity
- Solidity at a Glance. A Look at the Solidity Language from a Beginner’s Perspective
- Data Types. Learn the Basic Solidity Data Types
- Functions. Learn the Syntax of Writing Functions in Solidity
- Contract Communication. Learn to Communicate Between Contracts
- Libraries. DRY up your code with Solidity Libraries
- Addresses & Accounts. Learn about the address data type and Solidity execution context
- Contract to Contract. Learn how to communicate between contracts
- Events. Defining and Emitting Contract Events
- Solidity Challenges. Test Your Skills!
- Sum and Average. Can you find the sum and average of the arguments?
Project
Web3.university Platform
Web3.university
via Web3.university Platform
03.02.2020
Online Educational Course “How To Create Your First Smart Contract”
The content of the modules:
- What are Smart Contracts?
- Deploy Your First Smart Contract
- What is Gas and How is it Used?
- Interact With Your Smart Contract
- Structure of a Smart Contract
- Submit Your Smart Contract to Etherscan
- Smart Contract Security Challenges
- Integrate Your Contract With a Frontend
- Additional Resources
Project
Hello World smart contract from the Ethereum Foundation
// Specifies the version of Solidity, using semantic versioning.
// Learn more: https://solidity.readthedocs.io/en/v0.5.10/layout-of-source-files.html#pragma
pragma solidity >=0.7.3;
// Defines a contract named `HelloWorld`.
// A contract is a collection of functions and data (its state). Once deployed, a contract resides at a specific address on the Ethereum blockchain. Learn more: https://solidity.readthedocs.io/en/v0.5.10/structure-of-a-contract.html
contract HelloWorld {
//Emitted when update function is called
//Smart contract events are a way for your contract to communicate that something happened on the blockchain to your app front-end, which can be 'listening' for certain events and take action when they happen.
event UpdatedMessages(string oldStr, string newStr);
// Declares a state variable `message` of type `string`.
// State variables are variables whose values are permanently stored in contract storage. The keyword `public` makes variables accessible from outside a contract and creates a function that other contracts or clients can call to access the value.
string public message;
// Similar to many class-based object-oriented languages, a constructor is a special function that is only executed upon contract creation.
// Constructors are used to initialize the contract's data. Learn more:https://solidity.readthedocs.io/en/v0.5.10/contracts.html#constructors
constructor(string memory initMessage) {
// Accepts a string argument `initMessage` and sets the value into the contract's `message` storage variable).
message = initMessage;
}
// A public function that accepts a string argument and updates the `message` storage variable.
function update(string memory newMessage) public {
string memory oldMsg = message;
message = newMessage;
emit UpdatedMessages(oldMsg, newMessage);
}
}
Learn.microsoft.com Platform
Microsoft
via Learn.microsoft.com Platform
01.02.2020
Online Educational Course “Write Ethereum smart contracts by using Solidity”
The content of the modules:
- Introduction
- What is a smart contract?
- Exercise – Install Truffle
- Exercise – Install the Truffle for VS Code extension
- Exercise – Write a smart contract
- Exercise – Test your smart contract
- Knowledge check
- Summary
Project
Learn.microsoft.com Platform
Microsoft
via Learn.microsoft.com Platform
01.02.2020
Online Educational Course “Learn how to use Solidity”
The content of the modules:
- Introduction
- What is Solidity
- Understand the language basics
- Explore value types
- Explore reference types
- Exercise – Write your first contract
- Knowledge check
- Summary
Project