good morning!!!!

Skip to content
Snippets Groups Projects
Commit 6736c037 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Added editor for contracts

parent ab7dc924
Branches
Tags
No related merge requests found
......@@ -2,6 +2,7 @@ package main
import (
"bufio"
"bytes"
"encoding/hex"
"errors"
"fmt"
......@@ -78,6 +79,32 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
}
}
func (i *Console) Editor() []string {
var buff bytes.Buffer
for {
reader := bufio.NewReader(os.Stdin)
str, _, err := reader.ReadLine()
if len(str) > 0 {
buff.Write(str)
buff.WriteString("\n")
}
if err != nil && err.Error() == "EOF" {
break
}
}
scanner := bufio.NewScanner(strings.NewReader(buff.String()))
scanner.Split(bufio.ScanLines)
var lines []string
for scanner.Scan() {
lines = append(lines, scanner.Text())
}
return lines
}
func (i *Console) PrintRoot() {
root := ethutil.NewValue(i.trie.Root)
if len(root.Bytes()) != 0 {
......@@ -169,10 +196,17 @@ func (i *Console) ParseInput(input string) bool {
fmt.Println("gettx: tx not found")
}
case "contract":
contract := ethchain.NewTransaction([]byte{}, ethutil.Big(tokens[1]), []string{"PUSH", "1234"})
fmt.Printf("%x\n", contract.Hash())
fmt.Println("Contract editor (Ctrl-D = done)")
code := i.Editor()
contract := ethchain.NewTransaction([]byte{}, ethutil.Big(tokens[1]), code)
data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
keyRing := ethutil.NewValueFromBytes(data)
contract.Sign(keyRing.Get(0).Bytes())
i.ethereum.TxPool.QueueTransaction(contract)
fmt.Printf("%x\n", contract.Hash())
case "exit", "quit", "q":
return false
case "help":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment