Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
Geth-Modification
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张蕾
Geth-Modification
Commits
6736c037
Commit
6736c037
authored
Feb 18, 2014
by
obscuren
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added editor for contracts
parent
ab7dc924
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
2 deletions
+36
-2
dev_console.go
dev_console.go
+36
-2
No files found.
dev_console.go
View file @
6736c037
...
@@ -2,6 +2,7 @@ package main
...
@@ -2,6 +2,7 @@ package main
import
(
import
(
"bufio"
"bufio"
"bytes"
"encoding/hex"
"encoding/hex"
"errors"
"errors"
"fmt"
"fmt"
...
@@ -78,6 +79,32 @@ func (i *Console) ValidateInput(action string, argumentLength int) error {
...
@@ -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
()
{
func
(
i
*
Console
)
PrintRoot
()
{
root
:=
ethutil
.
NewValue
(
i
.
trie
.
Root
)
root
:=
ethutil
.
NewValue
(
i
.
trie
.
Root
)
if
len
(
root
.
Bytes
())
!=
0
{
if
len
(
root
.
Bytes
())
!=
0
{
...
@@ -169,10 +196,17 @@ func (i *Console) ParseInput(input string) bool {
...
@@ -169,10 +196,17 @@ func (i *Console) ParseInput(input string) bool {
fmt
.
Println
(
"gettx: tx not found"
)
fmt
.
Println
(
"gettx: tx not found"
)
}
}
case
"contract"
:
case
"contract"
:
contract
:=
ethchain
.
NewTransaction
([]
byte
{},
ethutil
.
Big
(
tokens
[
1
]),
[]
string
{
"PUSH"
,
"1234"
})
fmt
.
Println
(
"Contract editor (Ctrl-D = done)"
)
fmt
.
Printf
(
"%x
\n
"
,
contract
.
Hash
())
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
)
i
.
ethereum
.
TxPool
.
QueueTransaction
(
contract
)
fmt
.
Printf
(
"%x
\n
"
,
contract
.
Hash
())
case
"exit"
,
"quit"
,
"q"
:
case
"exit"
,
"quit"
,
"q"
:
return
false
return
false
case
"help"
:
case
"help"
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment