Archive

Posts Tagged ‘Smart contract’

Solidity Project: Tender Voting

October 18, 2020 Leave a comment

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

October 17, 2020 Leave a comment

02-01

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

Smart Contract 02

Screens

02-0102-0202-0302-04

Solidity Project: Submitting Initial Commercial Offers

October 16, 2020 Leave a comment

01-01Project: 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

Smart Contract 01

 

Screens

Solidity Project: Registration For The Tender

October 15, 2020 Leave a comment

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

February 7, 2020 Leave a comment

eos-coin-eos4853

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

February 6, 2020 Leave a comment

eos-coin-eos4853

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

Project 101

Chainshot.com Platform

February 5, 2020 Leave a comment

chainshot-1

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

project-chain

Web3.university Platform

February 3, 2020 Leave a comment

w3u-banner-3

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

February 1, 2020 Leave a comment

Microsoft-logo

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

Microsoft-project02

Learn.microsoft.com Platform

February 1, 2020 Leave a comment

Microsoft-logo

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

Microsoft-project01