1. The document discusses smart contracts on the Ethereum blockchain, including what they are, common applications, and different types of smart contracts.
2. It provides steps to install the Ethereum blockchain using Geth, write an example token contract, publish the contract to the blockchain, and send transactions to the contract while checking the results.
3. The goal is to understand the end-to-end process of developing and deploying smart contracts on Ethereum from writing code to interacting with live contracts on the blockchain.
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Simplilearn
This presentation on Ethereum will help you understand what is Ethereum, Ethereum features which includes cryptocurrency, smart contracts, Ethereum virtual machine, decentralized application, decentralized autonomous organization, applications of Ethereum and at the end you will see a demo on smart contract. Ethereum is a blockchain based distributed computing platform that enables developers to build and deploy their decentralized applications. Ether(ETH) is a cryptocurrency that runs on Ethereum network. It is used to pay for the computational resources and transaction fees on the Ethereum network. Ether can be utilized for building decentralized applications, smart contracts and making standard peer to peer payments. Now, lets deep dive into these slides and understand what is Ethereum and how does it work.
Below topics are explained in this Ethereum presentation:
1. What is Ethereum?
2. Ethereum features
- Cryptocurrency
- Smart contract
- Ethereum virtual machine
- Decentralized application
- Decentralized autonomous organization
3. Applications of Ethereum
4. Demo - Smart contract
Simplilearn’s Blockchain Certification Training has been designed for developers who want to decipher the global craze surrounding Blockchain, Bitcoin and cryptocurrencies. You’ll learn the core structure and technical mechanisms of Bitcoin, Ethereum, Hyperledger and Multichain Blockchain platforms, use the latest tools to build Blockchain applications, set up your own private Blockchain, deploy smart contracts on Ethereum and gain practical experience with real-world projects.
Why learn Blockchain?
Blockchain technology is the brainchild of Satoshi Nakamoto, which enables digital information to be distributed. A network of computing nodes makes up the Blockchain. Durability, robustness, success rate, transparency, incorruptibility are some of the enticing characteristics of Blockchain. By design, Blockchain is a decentralized technology which is used by a global network of the computer to manage Bitcoin transactions easily. Many new business applications will result in the usage of Blockchain such as Crowdfunding, smart contracts, supply chain auditing, Internet of Things(IoT), etc.
The Blockchain Certification Training Course is recommended for:
1. Developers
2. Technologists interested in learning Ethereum, Hyperledger and Blockchain
3. Technology architects wanting to expand their skills to Blockchain technology
4. Professionals curious to learn how Blockchain technology can change the way we do business
5. Entrepreneurs with technology background interested in realizing their business ideas on the Blockchain
Learn more at: https://www.simplilearn.com/
Overview of what is Bitcoin, Ethereum, Smart Contract and Blockchain.
First explained what is Bitcoin and its entities involved. Then Ethereum and what is called Blockchain.
Examples of the existing platforms those are using Ethereum.
This is a presentation is an introduction to the blockchain. It defines, what is the blockchain and shows how JavaScript developers can create blockchain applications.
An introduction to Ethereum, the peer to peer computing framework based on the blockchain design. It describes how Ethereum relates to earlier blockchain technologies and how it represents an evolution of these technologies
This presentation is part of New Product Developers (NPD) meetup regularly conducted by Divum. In this session, we covered gentle introduction to blockchain to running a truly decentralised Pizza ordering application built using solidity on ethereum.
Ethereum Devcon1 Report (summary writing)Tomoaki Sato
Ethereum devcon1 in London, 27th November By Tomoaki Sato I have been to the conference, so I wrote this summary and doing presentation in Japan. The meetup name is "Smart Contract Japan". Some of the presentations are missing, or added.
Please refer these official sources also
Devcon
http://devcon.ethereum.org/
Devcon1 youtube presentations
https://www.youtube.com/user/ethereumproject
Devcon1 slides on reddit
https://www.reddit.com/r/ethereum/comments/3soym7/devcon_1_slides/
"The ethereum Experience" was a presentation by Dr Gavin Wood hosted at the ethereum London Meetup.
Gavin presents an exclusive update in the latest developments of the ethereum platform, including some never-seen-before UI mockups of what ethereum might eventually look like at launch.
Gavin also covers a more generalist view of ethereum and how it could fit in a zero-trust, decentralized 'Web 3.0' model as part of an ecosystem of decentralized content distribution, messaging and networking.
For the video of the event (which will be posted from the 12 May 2014 onwards), please see our YouTube Channel : https://www.youtube.com/user/ethereumproject
For more ethereum meetups in London, please visit http://www.meetup.com/ethereum/
For more information about ethereum please visit https://www.ethereum.org/
Everything you ever needed to know about the bitcoin system all explained in baby language, from how it works to how to get started with creating an account, funding an account setting up mining, creating a secure wallet, e.t.c
Technological Unemployment and the Robo-EconomyMelanie Swan
Technological Unemployment (jobs outsourced to technology) is coming and the challenge is to steward an orderly and beneficial transition to more intense human-technology collaboration
Ethereum Tutorial - Ethereum Explained | What is Ethereum? | Ethereum Explain...Simplilearn
This presentation on Ethereum will help you understand what is Ethereum, Ethereum features which includes cryptocurrency, smart contracts, Ethereum virtual machine, decentralized application, decentralized autonomous organization, applications of Ethereum and at the end you will see a demo on smart contract. Ethereum is a blockchain based distributed computing platform that enables developers to build and deploy their decentralized applications. Ether(ETH) is a cryptocurrency that runs on Ethereum network. It is used to pay for the computational resources and transaction fees on the Ethereum network. Ether can be utilized for building decentralized applications, smart contracts and making standard peer to peer payments. Now, lets deep dive into these slides and understand what is Ethereum and how does it work.
Below topics are explained in this Ethereum presentation:
1. What is Ethereum?
2. Ethereum features
- Cryptocurrency
- Smart contract
- Ethereum virtual machine
- Decentralized application
- Decentralized autonomous organization
3. Applications of Ethereum
4. Demo - Smart contract
Simplilearn’s Blockchain Certification Training has been designed for developers who want to decipher the global craze surrounding Blockchain, Bitcoin and cryptocurrencies. You’ll learn the core structure and technical mechanisms of Bitcoin, Ethereum, Hyperledger and Multichain Blockchain platforms, use the latest tools to build Blockchain applications, set up your own private Blockchain, deploy smart contracts on Ethereum and gain practical experience with real-world projects.
Why learn Blockchain?
Blockchain technology is the brainchild of Satoshi Nakamoto, which enables digital information to be distributed. A network of computing nodes makes up the Blockchain. Durability, robustness, success rate, transparency, incorruptibility are some of the enticing characteristics of Blockchain. By design, Blockchain is a decentralized technology which is used by a global network of the computer to manage Bitcoin transactions easily. Many new business applications will result in the usage of Blockchain such as Crowdfunding, smart contracts, supply chain auditing, Internet of Things(IoT), etc.
The Blockchain Certification Training Course is recommended for:
1. Developers
2. Technologists interested in learning Ethereum, Hyperledger and Blockchain
3. Technology architects wanting to expand their skills to Blockchain technology
4. Professionals curious to learn how Blockchain technology can change the way we do business
5. Entrepreneurs with technology background interested in realizing their business ideas on the Blockchain
Learn more at: https://www.simplilearn.com/
Overview of what is Bitcoin, Ethereum, Smart Contract and Blockchain.
First explained what is Bitcoin and its entities involved. Then Ethereum and what is called Blockchain.
Examples of the existing platforms those are using Ethereum.
This is a presentation is an introduction to the blockchain. It defines, what is the blockchain and shows how JavaScript developers can create blockchain applications.
An introduction to Ethereum, the peer to peer computing framework based on the blockchain design. It describes how Ethereum relates to earlier blockchain technologies and how it represents an evolution of these technologies
This presentation is part of New Product Developers (NPD) meetup regularly conducted by Divum. In this session, we covered gentle introduction to blockchain to running a truly decentralised Pizza ordering application built using solidity on ethereum.
Ethereum Devcon1 Report (summary writing)Tomoaki Sato
Ethereum devcon1 in London, 27th November By Tomoaki Sato I have been to the conference, so I wrote this summary and doing presentation in Japan. The meetup name is "Smart Contract Japan". Some of the presentations are missing, or added.
Please refer these official sources also
Devcon
http://devcon.ethereum.org/
Devcon1 youtube presentations
https://www.youtube.com/user/ethereumproject
Devcon1 slides on reddit
https://www.reddit.com/r/ethereum/comments/3soym7/devcon_1_slides/
"The ethereum Experience" was a presentation by Dr Gavin Wood hosted at the ethereum London Meetup.
Gavin presents an exclusive update in the latest developments of the ethereum platform, including some never-seen-before UI mockups of what ethereum might eventually look like at launch.
Gavin also covers a more generalist view of ethereum and how it could fit in a zero-trust, decentralized 'Web 3.0' model as part of an ecosystem of decentralized content distribution, messaging and networking.
For the video of the event (which will be posted from the 12 May 2014 onwards), please see our YouTube Channel : https://www.youtube.com/user/ethereumproject
For more ethereum meetups in London, please visit http://www.meetup.com/ethereum/
For more information about ethereum please visit https://www.ethereum.org/
Everything you ever needed to know about the bitcoin system all explained in baby language, from how it works to how to get started with creating an account, funding an account setting up mining, creating a secure wallet, e.t.c
Technological Unemployment and the Robo-EconomyMelanie Swan
Technological Unemployment (jobs outsourced to technology) is coming and the challenge is to steward an orderly and beneficial transition to more intense human-technology collaboration
"Performance Analysis of In-Network Caching in Content-Centric Advanced Meter...Khaled Ben Driss
"Performance Analysis of In-Network Caching in Content-Centric Advanced Metering Infrastructure" The International Journal of Advanced Computer Science and Applications(IJACSA), Volume 7 Issue 11, 2016.
How to run the blockchain.info Bitcoin wallet in NodeJS (experimental).
Dutch Blockchain Hackathon - Tech Deep Dive - 2016-12-07 in Delft
Presentation made with Deckset, source:
https://gist.github.com/Sjors/b39f1e4135c05e8dfe2cf337608ec7a8
Instructions:
https://github.com/blockchain/My-Wallet-V3/wiki/NodeJS
How to create a Dapp - In this presentation I explain some Ethereum concepts to understand Dapps - and put this into practice using a real example : Allowance : A smart contract driven Dapp that allows a parent to give a weekly allowance to his/her kids. It was presented om aug 10 2016 in Antwerp in the API Craftsmanship Belgium meetup. Enjoy
Hands-on introduction to blockchain technologies.
First, basic concepts as peer-to-peer networks, mining and distributed consens are introduced basd on the Bitcoin protocol. Next smart contracts are discussed for the Ethereum protocol and demonstrated using a local/private blockchain.
The session concludes with a live demo of the interaction of a Java based classical business application with a smart contract running in the Ethereum network.
The goal of the session is to provide a meaningful background of blockchain technologies in genral and to enable developers to start exploring Ethereum and smart contracts within a few hours.
The proposed development setup is oriented towards Java developers and contains Docker images for the Geth and TestRPC Ethereum clients that can be run locally. To access Ethereum from Java the web3j Java library is used. The business application that integrates with the smart contracts is built with the Eclipse Scout framework.
Slides have been created by @ZimMatthias for the JUG Switzerland session on May 22, 2017 https://www.jug.ch/html/events/2017/blockchain_ethereum.html
* Présentation du concept Ethereum
* Comment acheter des ether
* Mettre un place un account/wallet avec mist
* Comment sécuriser ses ether
* Introduction au minage dans un pool
* Tour de table pour les prochains meetup
Streakk Chain: Build on the Streakk - English
Streakk - User Guide: Wallet setup and smart contract deployment on Remix IDE
- Setting up Streakk Chain on Metamask
- Claiming Testnet Streakk tokens(tSTKC) from Faucet
- Deploying a Contract on Streakk Blockchain using Remix IDE
Don't wait, register now in STREAKK 🌐 https://web.streakk.io/auth/signup/6767352523/
Basics you need to know about Solidity and how it works. Learn the simple way of building a smart contract in Solidity. Tools that can be used with Solidity.
Blockchain , Deploying your first smart contract to azure ethereum blockchain.
Slides from my session in "Global Azure Bootcamp Chandigarh"
Presentation starts with basic terms like transactions , ledger and contracts. Talks about what is blockchain and ethereum and concludes with deployment of a smart contract to azure ethereum blockchain.
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018Svetlin Nakov
Multi-Signature Crypto-Wallets: Nakov at Blockchain Berlin 2018
Speaker: Dr. Svetlin Nakov (co-founder of SoftUni)
Multisig Wallets. Sign / Execute Transactions. Implementation in Bitcoin and Ethereum
Single-User-Managed Wallets: Problems
Multi-Signature Wallets: Concepts
Multi-Signature Wallets in Bitcoin
Multi-Signature Wallets in Ethereum
The Gnosis Multisig Wallet: Demo
Slides, demos and videos: https://nakov.com/blog/2018/09/26/speaker-at-the-blockchain-technology-conference-2018-berlin/
An introductory look at various Blockchain Technologies and examples. In this slide I explain about basics of Etherium and types of Blockchain technology currently present and some known public projects/examples which use Blockchain.
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Fivehacktivity
Mining. Ethereum. Smart Contracts. Gas. Solidity. DAO. These words had no or a different meaning 5 years ago. But now these are the foundations of something exciting and powerful. But with great power comes great responsibility. Designing and implementing Smart Contracts are like encryption protocols. Everyone can come up with one which looks secure from the developer’s perspective, but only a few can design and implement one which is really safe.
But how can one hack Smart Contracts? In order to understand this, I will explain the meaning of all of these words in the Ethereum world from the ground-ups with real life analogies. Once the basic building blocks are explained, I will guide you into the world of hacking Smart Contracts. After attending this presentation, everyone will understand how a recursive call can burn 250M USD on the DAO and how developers can create a parallel universe where this never happened. Reinit? Multi-signature wallets? The Parity hack? All of this is simple once the basics are founded.
Warning: case studies from recent real-life hacks and live interaction with Smart Contracts are included. And Cryptokitties. Meow.
Building Java and Android apps on the blockchain Conor Svensson
In this talk, I demonstrate how you can integrate JVM applications with the Ethereum blockchain.
I provide an overview of what a blockchain is, how the Ethereum blockchain works, and how you can deploy and interact with smart contracts on Ethereum, all from within the JVM, thanks to web3j.
You’ll also learn about web3j’s usage of ReactiveX’s Observable, and the great enhancements it was able to bring to the library, both internally and externally for its users working with the blockchain.
Similar to Dappsmedia smartcontract _write_smartcontracts_on_console_ethereum (20)
Restribute ~ Wealth re-distirbution by blockchain hardfork ~ Tomoaki Sato
After the DAO hardfork Ethereum has 2 networks, Ethereum and Ethereum classic.
By seeing the fact, Gini index can be decreased by blockchain hardfork.
Re-distribution can be good even for people who have wealth in some blockchain protocol, because it increases engagement, and bring more network value to the blockchain.
This is not only company /project level, also can be used for governmental level to do democratic re-distribution of wealth not by centralized authority.
Local facts are difficult to put into on blockchain. Just simple thought about local facts
1. Location & Language separation on blockchain
2. Deposit on fact providers
3. Ask professionals including Prediction market
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
1. Smart contracts on Ethereum
Getting started
DappsMedia Tomoaki Sato
June 2015
Main source: https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
~From blockchain installation to make tokenContract ~
2. What are smart contracts on Ethereum blockchain?
1Source: https://github.com/ethereum/wiki/wiki/White-Paper
Original idea derived from Nick Szabo’s paper in1997.
http://szabo.best.vwh.net/smart_contracts_idea.html
and going to be live by Stateful blockchain with Ethereum virtual machine
3. What kind of application needs smart contracts ?
2Source: Source
1.Vending machine
2.Asset automated transfer system
• Token Systems
• Financial derivatives
• Identity and Reputation Systems
• Decentralized File Storage
• Decentralized Autonomous
Organizations
• See also
https://docs.google.com/spreads
heets/u/1/d/1VdRMFENPzjL2V-
vZhcc_aa5-
ysf243t5vXlxC2b054g/edit
After blockchain age
4. Smart contract 4 purposes
3
Smart contract
1. Maintain a data
store contract.
2. Forwarding
contract which
has access policy,
and some
conditions to
send messages.
3. Ongoing
contract such as
escrow,
crowdfunding.
4.Library type
contract which
provides
functions to other
contracts.
Process objectives
Ethereum contracts objectives
Source: https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
5. 1.Maintain a data store contract
4
Most simple type can be used by Embark (more about the later)
Source: http://jorisbontje.github.io/sleth/#/
# app/contracts/simple_storage.sol
contract SimpleStorage {
uint storedData;
function set(uint x) {
storedData = x * x * x;
}
function get() constant returns (uint retVal)
{
return storedData;
}
}
6. 2.Forwarding contract
5
Sleth is the decentralized slot machine application using forwarding type smart contract.
Currently I can not find the forwarding type contract which can be run on testnet. If you know please comment on.
Source: https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
When Bob wants to finalize the bet, the following
steps happen:
1. A transaction is sent, triggering a message
from Bob's EOA to Bob's forwarding contract.
2. Bob's forwarding contract sends the hash of
the message and the Lamport signature to a
contract which functions as a Lamport
signature verification library.
3. The Lamport signature verification library sees
that Bob wants a SHA256-based Lamport sig,
so it calls the SHA256 library many times as
needed to verify the signature.
4. Once the Lamport signature verification library
returns 1, signifying that the signature has
been verified, it sends a message to the
contract representing the bet.
5. The bet contract checks the contract providing
the San Francisco temperature to see what the
temperature is.
7. 3.Ongoing contract
6Source: https://github.com/WeiFund/WeiFund/blob/master/WeiFund.sol
Most smart contracts are ongoing type contracts, such as crowdfunding is ongoing contract.
// WeiFund System
// Start, donate, payout and refund crowdfunding campaigns
// @authors:
// Nick Dodson <thenickdodson@gmail.com>
// If goal is not reached and campaign is expired, contributers can get the
refunded individually
// If goal is reached by alloted time, contributions can still be made
contract WeiFundConfig
{
function onContribute(uint cid, address addr, uint amount){}
function onRefund(uint cid, address addr, uint amount){}
function onPayout(uint cid, uint amount){}
}
contract WeiFund
{
struct User
{
uint numCampaigns;
mapping(uint => uint) campaigns;
}
struct Funder
{
address addr;
uint amount;
}
...
8. 4. Library contract
7Source: https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
Smart contract which provides utility functions.
In the case below, Lamport sig verifier contract is Library type contracts.
The contract will provide a set of function
9. Structuring every type of smart contract
8
You can make structure by combining different contracts
Source:https://github.com/ethereum/wiki/wiki/Ethereum-Development-Tutorial
11. Our goal today
10
Download blockchain, writing smart contracts, publish contract on blockchain, send message to
contracts.
Source: http://jorisbontje.github.io/sleth/#/ http://ethereum.gitbooks.io/frontier-guide/content/contract_coin.html
http://meteor-dapp-cosmo.meteor.com/
Cool!
1. Install Ethereum blockchain 2.writing smart contract
3.Publish contract on blockchain 4.Send message to contracts &
check the result
tokenInstance.getBalance.call(eth.accounts[1])
tokenInstance.sendToken.sendTransaction(et
h.accounts[1], 100, {from: eth.accounts[0]})
12. 1. Install Ethereum blockchain
11
3 ways to install...
Source: http://jorisbontje.github.io/sleth/#/
1. Live Testnet chain https://stats.ethdev.com/
2. Private chain
3. Private chain with framework (Embark framework)
https://github.com/iurimatias/embark-framework
Cool!
13. 1. Install Ethereum blockchain
12Source: http://jorisbontje.github.io/sleth/#/
1. Live Testnet chain we will install this chain. https://stats.ethdev.com/
Cool!
CPP
O △ ☓
14. 1. Install Ethereum blockchain
13Source:
1.Live Testnet chain we will install this chain. https://stats.ethdev.com/
June, 2015
Go-Ethereum = Geth !
1. installation of geth
https://github.com/ethereum/go-ethereum/releases/tag/v0.9.20
2. geth account new
http://ethereum.gitbooks.io/frontier-guide/content/creating_accounts.html
3. Do mining & should wait until the Blocknumber on stats (roughly 4 ~6 hours )
https://stats.ethdev.com/
15. 1. Install Ethereum blockchain
14
2.Private chain is private blockchain just for you. No network, your own blockchain.
Source:https://github.com/ethereum/go-ethereum/wiki/Setting-up-private-network-or-local-cluster
Currently Ethereum using blockchain,
You can run multiple chains locally to do this,
1. Each instance has separate data dir
2. Each instance runs on a different port ( both eth and rpc. )
3. The instances know about each other
You can run multiple chains locally
1st chain
// create dir for blockchain
$ mkdir /tmp/eth/60/01
// run private chain
$ geth –datadir=“/tmp/eth/60/01” –
verbosity 6 –port 30301 –rpcport 8101
console 2>> /tmp/eth/60/01.log
// mining start
$ admin.miner.start()
You can run multiple chains locally
2nd chain but for my env doesn’t work.
// create dir for blockchain
$ mkdir /tmp/eth/61/01
// run private chain
$ geth –datadir=“/tmp/eth/61/01” –
verbosity 6 –port 30302 –rpcport 8102
console 2>> /tmp/eth/61/01.log
// mining start
$ admin.miner.start()
16. 1. Install Ethereum blockchain
15
3. Embark Framework for Ethereum DApps. https://iurimatias.github.io/embark-framework/
Source: https://iurimatias.github.io/embark-framework/
I feel
1. Easy to upload contracts you write to private blockchain
2. If you don’t know about How to use
3. Fast demo – Simple storage application using private chain is buildin demo.
$ npm install -g embark-framework grunt-cli
$ embark demo
$ cd embark_demo
$ embark blockchain
$ embark run
17. 2. Write smart contract after $ geth console
16
1. Write Token contract you can publish your own token. After $ geth console
### coin contract from console
var tokenSource = 'contract token { mapping (address => uint) balances; function token() { balances[msg.sender]
= 10000; } function sendToken(address receiver, uint amount) returns(bool sufficient) { if
(balances[msg.sender] < amount) return false; balances[msg.sender] -= amount; balances[receiver] +=
amount; return true; } function getBalance(address account) returns(uint balance){ return
balances[account]; } }'
var tokenCompiled = eth.compile.solidity(tokenSource).token
var tokenAddress = eth.sendTransaction({data: tokenCompiled.code, from: eth.accounts[0], gas:1000000});
admin.miner.start()
admin.miner.stop()
eth.getCode(tokenAddress)
tokenContract = eth.contract(tokenCompiled.info.abiDefinition)
tokenInstance = tokenContract.at(tokenAddress);
> tokenInstance
{
address: '0xf95ff51f532bd6821b98f312e876e1e2213f3e36',
sendToken: [Function],
getBalance: [Function]
}
tokenInstance.getBalance.call(eth.accounts[0])
tokenInstance.sendToken.sendTransaction(eth.accounts[1], 100, {from: eth.accounts[0]})
admin.miner.start()
admin.miner.stop()
tokenInstance.getBalance.call(eth.accounts[0])
> tokenInstance.getBalance.call(eth.accounts[0])
'9900'
18. 3.Publish contract
17
This phrase is uploading the contract onto blockchain.
### coin contract from console
var tokenSource = 'contract token { mapping (address => uint) balances; function token() { balances[msg.sender]
= 10000; } function sendToken(address receiver, uint amount) returns(bool sufficient) { if
(balances[msg.sender] < amount) return false; balances[msg.sender] -= amount; balances[receiver] +=
amount; return true; } function getBalance(address account) returns(uint balance){ return
balances[account]; } }'
var tokenCompiled = eth.compile.solidity(tokenSource).token
var tokenAddress = eth.sendTransaction({data: tokenCompiled.code, from:
eth.accounts[0], gas:1000000});
admin.miner.start()
admin.miner.stop()
eth.getCode(tokenAddress)
tokenContract = eth.contract(tokenCompiled.info.abiDefinition)
tokenInstance = tokenContract.at(tokenAddress);
> tokenInstance
{
address: '0xf95ff51f532bd6821b98f312e876e1e2213f3e36',
sendToken: [Function],
getBalance: [Function]
}
tokenInstance.getBalance.call(eth.accounts[0])
tokenInstance.sendToken.sendTransaction(eth.accounts[1], 100, {from: eth.accounts[0]})
admin.miner.start()
admin.miner.stop()
tokenInstance.getBalance.call(eth.accounts[0])
> tokenInstance.getBalance.call(eth.accounts[0])
'9900'
19. 4.Send message to the contract and check the result
18
This phrase is sending message to the contract on blockchain.
### coin contract from console
var tokenSource = 'contract token { mapping (address => uint) balances; function token() { balances[msg.sender]
= 10000; } function sendToken(address receiver, uint amount) returns(bool sufficient) { if
(balances[msg.sender] < amount) return false; balances[msg.sender] -= amount; balances[receiver] +=
amount; return true; } function getBalance(address account) returns(uint balance){ return
balances[account]; } }'
var tokenCompiled = eth.compile.solidity(tokenSource).token
var tokenAddress = eth.sendTransaction({data: tokenCompiled.code, from: eth.accounts[0], gas:1000000});
admin.miner.start()
admin.miner.stop()
eth.getCode(tokenAddress)
tokenContract = eth.contract(tokenCompiled.info.abiDefinition)
tokenInstance = tokenContract.at(tokenAddress);
> tokenInstance
{
address: '0xf95ff51f532bd6821b98f312e876e1e2213f3e36',
sendToken: [Function],
getBalance: [Function]
}
tokenInstance.getBalance.call(eth.accounts[0])
tokenInstance.sendToken.sendTransaction(eth.accounts[1], 100, {from:
eth.accounts[0]})
admin.miner.start()
admin.miner.stop()
tokenInstance.getBalance.call(eth.accounts[0])
> tokenInstance.getBalance.call(eth.accounts[0])
'9900'
20. Miscellaneous
19
Ethereum frontier guide
Solidty online compiler
https://chriseth.github.io/cpp-ethereum/
Geth(go-ethereum)
https://github.com/ethereum/go-ethereum/releases/tag/v0.9.20
State of the DApps spreadsheet
https://docs.google.com/spreadsheets/d/1VdRMFENPzjL2V-vZhcc_aa5-
ysf243t5vXlxC2b054g/edit#gid=0
Ethereum forum
https://forum.ethereum.org/categories/services-and-decentralized-applications
Solidity presentation
https://www.youtube.com/watch?v=DIqGDNPO5YM
http://ethereum.gitbooks.io/frontier-guide/content/creating_accounts.html
21. 20
Decentralization is just beginning.
We hope you start to be involved in!
Do you have interested in the DAppsMedia also ?
If you have, contract us from here!