*: remove remaining references to neo-storm, update README

README update partially reverts c8d7671d26 and
updates it with current commands and sample output.
This commit is contained in:
Roman Khimov 2019-08-15 19:51:07 +03:00
parent a1e3655560
commit 57c7df4dff
3 changed files with 58 additions and 8 deletions

View file

@ -126,7 +126,57 @@ ApplicationConfiguration:
```
## Writing smart contracts in Go
Golang's development is been moved to a separate repository which you can find here [neo-storm](https://github.com/CityOfZion/neo-storm)
In depth documentation about the **neo-go** compiler and smart contract examples can be found inside the [compiler package](https://github.com/CityOfZion/neo-go/tree/master/pkg/vm/compiler).
### Compile a smart contract
```
./bin/neo-go contract compile -i mycontract.go
```
By default the filename will be the name of your `.go` file with the `.avm` extension, the file will be located in the same directory where you called the command from. If you want another location for your compiled contract:
```
./bin/neo-go contract compile -i mycontract.go --out /Users/foo/bar/contract.avm
```
### Debugging your smart contract
You can dump the opcodes generated by the compiler with the following command:
```
./bin/neo-go contract inspect -i mycontract.go
```
This will result in something like this:
```
INDEX OPCODE DESC
0 0x54 PUSH4
1 0xc5 NEWARRAY
2 0x6b TOALTSTACK
3 0x5a PUSH10
4 0x6a DUPFROMALTSTACK
5 0x0 PUSH0
6 0x52 PUSH2
7 0x7a ROLL
8 0xc4 SETITEM
9 0x6a DUPFROMALTSTACK
10 0x0 PUSH0
11 0xc3 PICKITEM
12 0x5a PUSH10
13 0xa2 GTE
14 0x64 JMPIFNOT
15 0x7 7
15 0x0 0
17 0x51 PUSH1
18 0x6c FROMALTSTACK
19 0x75 DROP
20 0x66 RET
21 0x0 PUSH0
22 0x6c FROMALTSTACK
23 0x75 DROP
24 0x66 RET
```
# Contributing

View file

@ -121,11 +121,11 @@ func initSmartContract(ctx *cli.Context) error {
return cli.NewExitError(err, 1)
}
// Ask contract information and write a storm.yml file unless the -skip-details flag is set.
// TODO: Fix the missing storm.yml file with the `init` command when the package manager is in place.
// Ask contract information and write a neo-go.yml file unless the -skip-details flag is set.
// TODO: Fix the missing neo-go.yml file with the `init` command when the package manager is in place.
if !ctx.Bool("skip-details") {
details := parseContractDetails()
if err := ioutil.WriteFile(filepath.Join(basePath, "storm.yml"), details.toStormFile(), 0644); err != nil {
if err := ioutil.WriteFile(filepath.Join(basePath, "neo-go.yml"), details.toStormFile(), 0644); err != nil {
return cli.NewExitError(err, 1)
}
}
@ -205,8 +205,8 @@ type ContractDetails struct {
func (d ContractDetails) toStormFile() []byte {
buf := new(bytes.Buffer)
buf.WriteString("# Storm specific configuration. Do not modify this unless you know what you are doing!\n")
buf.WriteString("storm:\n")
buf.WriteString("# NEO-GO specific configuration. Do not modify this unless you know what you are doing!\n")
buf.WriteString("neo-go:\n")
buf.WriteString(" version: 1.0\n")
buf.WriteString("\n")
@ -222,7 +222,7 @@ func (d ContractDetails) toStormFile() []byte {
buf.WriteString("\n")
buf.WriteString("# Module section contains a list of imported modules\n")
buf.WriteString("# This will be automatically managed by the neo-storm package manager\n")
buf.WriteString("# This will be automatically managed by the neo-go package manager\n")
buf.WriteString("modules: \n")
return buf.Bytes()
}

View file

@ -1,5 +1,5 @@
# Runtime
A brief overview of NEO smart contract API's that can be used in the neo-storm framework.
A brief overview of NEO smart contract API's that can be used in the neo-go framework.
# Overview
1. [Account]()