Skip to content

Commit

Permalink
[Docs] Update bytecode in documents and fix some rst syntax.
Browse files Browse the repository at this point in the history
  • Loading branch information
dm4 committed Oct 12, 2018
1 parent 24b4aef commit 7c32c5e
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 184 deletions.
6 changes: 3 additions & 3 deletions docs/eni-tutorial.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Use ENI in Your Contract

Create a contract file called `Reverse.lity`.

.. code:: C++
.. code::
//pragma solidity ^0.4.23;
pragma lity ^1.2.0;
Expand All @@ -62,7 +62,7 @@ Compile Your Contract with Lityc
======= ./Reverse.lity:ReverseContract =======
Binary of the runtime part:
608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100ed5780820151818401526020810190506100d2565b50505050905090810190601f16801561011a5780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081604051908101604052905b6020831015156101f057805182526020820191506020810190506020830392506101cb565b6001836020036101000a0d8019825116818451168082178552505050505050806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f59050809150509190505600a165627a7a7230582083ec7cbcf35644ae5243c210169c4732839e7d9108146b9eb3868c058fa393d10029
608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100ed5780820151818401526020810190506100d2565b50505050905090810190601f16801561011a5780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081601f0160209004602002604051908101604052905b6020831015156101fa57805182526020820191506020810190506020830392506101d5565b6001836020036101000a0d801982511681845116808217855250505050505080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f59050809150509190505600a165627a7a723058208ce7aeccf2adc85557f879e3ac6ba2ca85fc018e77b351a8a424a32b40808d3f0029
.. code:: bash
Expand All @@ -83,7 +83,7 @@ Run with `ABCDE` as input to your contract.

.. code:: bash
evm --code 608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100ed5780820151818401526020810190506100d2565b50505050905090810190601f16801561011a5780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081604051908101604052905b6020831015156101f057805182526020820191506020810190506020830392506101cb565b6001836020036101000a0d8019825116818451168082178552505050505050806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f59050809150509190505600a165627a7a7230582083ec7cbcf35644ae5243c210169c4732839e7d9108146b9eb3868c058fa393d10029 --input 064767aa000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000054142434445000000000000000000000000000000000000000000000000000000 --statdump run
evm --code 608060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610046575b600080fd5b34801561005257600080fd5b506100ad600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050610128565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100ed5780820151818401526020810190506100d2565b50505050905090810190601f16801561011a5780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081601f0160209004602002604051908101604052905b6020831015156101fa57805182526020820191506020810190506020830392506101d5565b6001836020036101000a0d801982511681845116808217855250505050505080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f59050809150509190505600a165627a7a723058208ce7aeccf2adc85557f879e3ac6ba2ca85fc018e77b351a8a424a32b40808d3f0029 --input 064767aa000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000054142434445000000000000000000000000000000000000000000000000000000 --statdump run
.. code:: bash
Expand Down
63 changes: 4 additions & 59 deletions docs/reverse-string.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,63 +5,8 @@ Reverse String

This example shows how to use our :code:`eni_revserse.so` to reverse a string on Lity contract.'

Install lity branch of Travis
-----------------------------

First we need to use lity branch of travis:

.. code:: bash
# Get lity branch of Travis
go get github.com/CyberMiles/travis
cd $GOPATH/src/github.com/CyberMiles/travis
git checkout lity
# Install libeni
wget -O $HOME/libeni.tgz https://github.com/CyberMiles/libeni/releases/download/v1.2.0/libeni-1.2.0_ubuntu-16.04.tgz
tar zxvf $HOME/libeni.tgz -C $HOME
mkdir -p $HOME/.travis/eni
cp -r $HOME/libeni-1.2.0/lib $HOME/.travis/eni/lib
# Build & Install Travis
cd $GOPATH/src/github.com/CyberMiles/travis
make all
Run Travis locally
------------------

Then start a Travis node locally.

.. code:: bash
# Initial & start
travis node init
travis node start
Lity compiler
-------------

Build our Lity compiler from source to get :code:`lityc`.

.. code:: bash
git clone https://github.com/CyberMiles/lity.git
cd lity
git submodule update --init --recursive
mkdir build
cd build
cmake ..
make
Now we have :code:`lityc`:

.. code:: bash
$ ls -l ./lityc/lityc
-rwxrwxr-x 1 skymizer skymizer 26649648 Jul 3 02:19 lityc/lityc*
Compiler StringReverse Contract
----------------------------------
-------------------------------

There is a simple contract that leverage ENI to reverse a string.

Expand Down Expand Up @@ -89,11 +34,11 @@ and we could compile it using :code:`lityc`:
.. code:: bash
$ mkdir output
$ ./lityc --abi --bin -o output StringReverse.sol
$ lityc --abi --bin -o output StringReverse.sol
$ cat output/StringReverse.abi
[{"constant":true,"inputs":[{"name":"src","type":"string"}],"name":"reverse","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"test","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"}]
$ cat output/StringReverse.bin
608060405234801561001057600080fd5b50610408806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610051578063f8a8fd6d14610133575b600080fd5b34801561005d57600080fd5b506100b8600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f85780820151818401526020810190506100dd565b50505050905090810190601f1680156101255780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b34801561013f57600080fd5b506101486102e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018857808201518184015260208101905061016d565b50505050905090810190601f1680156101b55780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081604051908101604052905b60208310151561028b5780518252602082019150602081019050602083039250610266565b6001836020036101000a0d8019825116818451168082178552505050505050806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050919050565b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090526040805190810160405280600c90526020017f48656c6c6f2c20776f726c640000000000000000000000000000000000000000815250806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050905600a165627a7a7230582095c9aea91fe78b6745820a063f6ccbe431c499663a30ad60db667e453e2bca5c0029
608060405234801561001057600080fd5b5061041a806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610051578063f8a8fd6d14610133575b600080fd5b34801561005d57600080fd5b506100b8600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f85780820151818401526020810190506100dd565b50505050905090810190601f1680156101255780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b34801561013f57600080fd5b506101486102ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018857808201518184015260208101905061016d565b50505050905090810190601f1680156101b55780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081601f0160209004602002604051908101604052905b6020831015156102955780518252602082019150602081019050602083039250610270565b6001836020036101000a0d801982511681845116808217855250505050505080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050919050565b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090526040805190810160405280600c90526020017f48656c6c6f2c20776f726c64000000000000000000000000000000000000000081525080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050905600a165627a7a72305820a1c239c84518355b762a293aaac7ce64779685d62750506e782b51360c623f620029
Deploy contract to Travis locally
---------------------------------
Expand All @@ -108,7 +53,7 @@ After we get contract ABI and bytecode, we could deploy it to Travis chain.
# Deploy contract (in Travis console)
personal.unlockAccount(cmt.accounts[0], '1234');
abi = [{"constant":true,"inputs":[{"name":"src","type":"string"}],"name":"reverse","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"test","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"}]
bytecode = "0x608060405234801561001057600080fd5b50610408806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610051578063f8a8fd6d14610133575b600080fd5b34801561005d57600080fd5b506100b8600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f85780820151818401526020810190506100dd565b50505050905090810190601f1680156101255780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b34801561013f57600080fd5b506101486102e1565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018857808201518184015260208101905061016d565b50505050905090810190601f1680156101b55780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081604051908101604052905b60208310151561028b5780518252602082019150602081019050602083039250610266565b6001836020036101000a0d8019825116818451168082178552505050505050806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050919050565b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090526040805190810160405280600c90526020017f48656c6c6f2c20776f726c640000000000000000000000000000000000000000815250806040518190039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050905600a165627a7a7230582095c9aea91fe78b6745820a063f6ccbe431c499663a30ad60db667e453e2bca5c0029"
bytecode = "0x608060405234801561001057600080fd5b5061041a806100206000396000f30060806040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063064767aa14610051578063f8a8fd6d14610133575b600080fd5b34801561005d57600080fd5b506100b8600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506101c3565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f85780820151818401526020810190506100dd565b50505050905090810190601f1680156101255780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b34801561013f57600080fd5b506101486102ef565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018857808201518184015260208101905061016d565b50505050905090810190601f1680156101b55780820d805160018360200d6101000a0d1916815260200191505b509250505060405180910390f35b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090528480516020019081601f0160209004602002604051908101604052905b6020831015156102955780518252602082019150602081019050602083039250610270565b6001836020036101000a0d801982511681845116808217855250505050505080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050919050565b60608060405160206040519081016040526001905260206040519081016040527f0400000000000000000000000000000000000000000000000000000000000000905260206040519081016040526001905260206040519081016040527f04000000000000000000000000000000000000000000000000000000000000009052602060405190810160405280600090526040805190810160405280600c90526020017f48656c6c6f2c20776f726c64000000000000000000000000000000000000000081525080604051819003602090039052907f7265766572736500000000000000000000000000000000000000000000000000f5905080915050905600a165627a7a72305820a1c239c84518355b762a293aaac7ce64779685d62750506e782b51360c623f620029"
contract = web3.cmt.contract(abi);
c = contract.new(
{
Expand Down

0 comments on commit 7c32c5e

Please sign in to comment.