Giter Site home page Giter Site logo

mitchpierias / advanced-eos-examples Goto Github PK

View Code? Open in Web Editor NEW
163.0 19.0 46.0 330 KB

EOS Smart Contract Development Examples

License: MIT License

C++ 63.45% TypeScript 36.55%
eos eosio eos-contracts eos-blockchain eos-tutorials blockchain blockchain-demos blockchain-demo distributed-ledger decentralized-applications

advanced-eos-examples's Introduction

Advanced EOS Development Examples

A collection of Advanced EOS contract examples.

All contracts have now been updated to conform with the latest EOSIO.CDT release version 1.6

This repository contains a collection of Advanced EOS concepts and examples that are typically not covered through any educational material.

  1. Cryptographic Hashes
  2. Singletons
  3. Secondary Indexes
  4. Table Index Uniqueness
  5. One-to-many Table Relationships
    • Inline Vectors
    • Index references
    • Scope grouping
  6. Contract-to-contract Communication
  7. Remote Table Access
  8. Deferred Transactions
  9. The Dispatcher Extension
  10. Token Transfers

Usage

If this is your first time running the examples, you'll first need to clone the repo and install all required dependencies.

git clone https://github.com/MitchPierias/Advanced-EOS-Examples
cd Advanced-EOS-Examples
npm install

Next you can validate the examples by running

npm run test

It may take a while to install the docker images initially, this is Lamington's development environment setup stage. Be patient and take a coffee break. Next Lamington will compile and deploy the contracts before executing tests. If all this passes, it means the examples do what they say they do and your safe to copy them to your hearts content.

Requirements

These examples expect a moderate understanding of the following languages

Language Version
C++
JavaScript ES6 ES2016
TypeScript 3
CLI

Technologies

Library Version
EOSIO 20
EOSIO.CDT 1.6
Docker
Lamington 1

Contributors

Mitch Pierias, Creator & Developer

Kevin Brown, Developer

Special Thanks

A special thanks to Kevin Brown who volunteered to completely rewrite the series to conform with the latest CDT release version 1.6. Additionaly, Kevin developed and implemented a Truffle inspired tool suite called Lamington which simplifies deployment and testing into one command.

advanced-eos-examples's People

Contributors

mitchpierias avatar thekevinbrown avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

advanced-eos-examples's Issues

Doesn't pass the required parameter in to_hex() action.

Hi MitchPierias
In your t0_hex(); action you didn't pass the parameter{length}
void hash(const string& str) {
// Hash the given string
checksum256 hashed = create_hash(str);
// Convert output to hexadecimal string
string result = to_hex(hashed); //length is required.
// Print result
print(result);
}

although there is no need to pass length here because we already know the length of sha256, but you take it as a params in to_hex() action. One more thing this series is nice to understand EOS tables.
Thanks Man

Upgrade to latest CDT

It'd be great to upgrade these examples to use the latest CDT so when people copy / paste into their latest environments they don't get build errors.

I'd be happy to help if that's a thing you're interested in doing.

checksum256 to string?

First of all, great guide; it's really helpful!

My question is how do you convert a checksum256 type to a string? I understand you can print it to the console with printhex(&sum, sizeof(sum)) but how would you do something like std::string str = sum? I'm stuck here. Thanks

(excuse my lack of C++ knowledge)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.