Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
whqwjb
go-ethereum
提交
ddf17d93
G
go-ethereum
项目概览
whqwjb
/
go-ethereum
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
go-ethereum
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ddf17d93
编写于
1月 29, 2015
作者:
O
obscuren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Samples and disams cmd for evm code
上级
84adf77b
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
103 addition
and
5 deletion
+103
-5
cmd/disasm/main.go
cmd/disasm/main.go
+34
-0
cmd/mist/assets/examples/abi.html
cmd/mist/assets/examples/abi.html
+15
-4
cmd/mist/assets/examples/balance.html
cmd/mist/assets/examples/balance.html
+40
-0
rpc/packages.go
rpc/packages.go
+14
-1
未找到文件。
cmd/disasm/main.go
0 → 100644
浏览文件 @
ddf17d93
package
main
import
(
"fmt"
"io/ioutil"
"os"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/vm"
)
func
main
()
{
code
,
err
:=
ioutil
.
ReadAll
(
os
.
Stdin
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
os
.
Exit
(
1
)
}
code
=
ethutil
.
Hex2Bytes
(
string
(
code
[
:
len
(
code
)
-
1
]))
fmt
.
Printf
(
"%x
\n
"
,
code
)
for
pc
:=
uint64
(
0
);
pc
<
uint64
(
len
(
code
));
pc
++
{
op
:=
vm
.
OpCode
(
code
[
pc
])
fmt
.
Printf
(
"%-5d %v"
,
pc
,
op
)
switch
op
{
case
vm
.
PUSH1
,
vm
.
PUSH2
,
vm
.
PUSH3
,
vm
.
PUSH4
,
vm
.
PUSH5
,
vm
.
PUSH6
,
vm
.
PUSH7
,
vm
.
PUSH8
,
vm
.
PUSH9
,
vm
.
PUSH10
,
vm
.
PUSH11
,
vm
.
PUSH12
,
vm
.
PUSH13
,
vm
.
PUSH14
,
vm
.
PUSH15
,
vm
.
PUSH16
,
vm
.
PUSH17
,
vm
.
PUSH18
,
vm
.
PUSH19
,
vm
.
PUSH20
,
vm
.
PUSH21
,
vm
.
PUSH22
,
vm
.
PUSH23
,
vm
.
PUSH24
,
vm
.
PUSH25
,
vm
.
PUSH26
,
vm
.
PUSH27
,
vm
.
PUSH28
,
vm
.
PUSH29
,
vm
.
PUSH30
,
vm
.
PUSH31
,
vm
.
PUSH32
:
a
:=
uint64
(
op
)
-
uint64
(
vm
.
PUSH1
)
+
1
fmt
.
Printf
(
" => %x"
,
code
[
pc
+
1
:
pc
+
1
+
a
])
pc
+=
a
}
fmt
.
Println
()
}
}
cmd/mist/assets/examples/
test
.html
→
cmd/mist/assets/examples/
abi
.html
浏览文件 @
ddf17d93
...
@@ -20,11 +20,10 @@
...
@@ -20,11 +20,10 @@
}]
}]
}];
}];
var
address
=
web3
.
eth
.
transact
({
var
address
=
web3
.
eth
.
transact
({
data
:
"
0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b6000816007029050
"
,
data
:
"
0x603880600c6000396000f3006001600060e060020a600035048063c6888fa114601857005b6021600435602b565b8060005260206000f35b6000816007029050
91905056
"
,
gasprice
:
"
1000000000000000
"
,
gasprice
:
"
1000000000000000
"
,
gas
:
"
10000
"
,
gas
:
"
10000
"
,
});
});
console
.
log
(
"
created contract with addr:
"
+
address
);
var
contract
=
web3
.
eth
.
contract
(
address
,
desc
);
var
contract
=
web3
.
eth
.
contract
(
address
,
desc
);
function
calculate
()
{
function
calculate
()
{
...
@@ -36,9 +35,21 @@
...
@@ -36,9 +35,21 @@
</script>
</script>
</head>
</head>
<body>
<body>
<h3>
Contract content
</h3>
<textarea
style=
"height:100px; width: 300px;"
disabled=
"disabled"
>
contract test {
function multiply(uint a) returns(uint d) {
return a * 7;
}
}
</textarea>
<code><pre>
603880600c6000396000f3006001600060e060020a600035048063c6888fa1140
05b6021600435602b565b8060005260206000f35b600081600702905091905056
</pre></code>
<div><input
type=
"number"
id=
"value"
onkeyup=
'calculate()'
></input></div>
<hr>
<div
id=
"result"
></div>
<div>
7 x
<input
type=
"number"
id=
"value"
onkeyup=
'calculate()'
></input>
=
<span
id=
"result"
></spa>
</body>
</body>
</html>
</html>
cmd/mist/assets/examples/balance.html
0 → 100644
浏览文件 @
ddf17d93
<
!
doctype
>
<html>
<head>
<script
src=
"../ext/bignumber.min.js"
></script>
<script
src=
"../ext/ethereum.js/dist/ethereum.js"
></script>
<script
type=
"text/javascript"
>
var
web3
=
require
(
'
web3
'
);
web3
.
setProvider
(
new
web3
.
providers
.
HttpSyncProvider
(
'
http://localhost:8080
'
));
function
watchBalance
()
{
var
coinbase
=
web3
.
eth
.
coinbase
;
var
originalBalance
=
0
;
var
balance
=
web3
.
eth
.
balanceAt
(
coinbase
);
var
originalBalance
=
web3
.
toDecimal
(
balance
);
document
.
getElementById
(
'
original
'
).
innerText
=
'
original balance:
'
+
originalBalance
+
'
watching...
'
;
web3
.
eth
.
watch
({
altered
:
coinbase
}).
changed
(
function
()
{
balance
=
web3
.
eth
.
balanceAt
(
coinbase
)
var
currentBalance
=
web3
.
toDecimal
(
balance
);
document
.
getElementById
(
"
current
"
).
innerText
=
'
current:
'
+
currentBalance
;
document
.
getElementById
(
"
diff
"
).
innerText
=
'
diff:
'
+
(
currentBalance
-
originalBalance
);
});
}
</script>
</head>
<body>
<h1>
coinbase balance
</h1>
<button
type=
"button"
onClick=
"watchBalance();"
>
watch balance
</button>
<div></div>
<div
id=
"original"
></div>
<div
id=
"current"
></div>
<div
id=
"diff"
></div>
</body>
</html>
rpc/packages.go
浏览文件 @
ddf17d93
...
@@ -35,6 +35,19 @@ import (
...
@@ -35,6 +35,19 @@ import (
"github.com/ethereum/go-ethereum/xeth"
"github.com/ethereum/go-ethereum/xeth"
)
)
func
toHex
(
b
[]
byte
)
string
{
return
"0x"
+
ethutil
.
Bytes2Hex
(
b
)
}
func
fromHex
(
s
string
)
[]
byte
{
if
len
(
s
)
>
1
{
if
s
[
0
:
2
]
==
"0x"
{
s
=
s
[
2
:
]
}
return
ethutil
.
Hex2Bytes
(
s
)
}
return
nil
}
type
RpcServer
interface
{
type
RpcServer
interface
{
Start
()
Start
()
Stop
()
Stop
()
...
@@ -163,7 +176,7 @@ func (p *EthereumApi) GetCodeAt(args *GetCodeAtArgs, reply *interface{}) error {
...
@@ -163,7 +176,7 @@ func (p *EthereumApi) GetCodeAt(args *GetCodeAtArgs, reply *interface{}) error {
}
}
func
(
p
*
EthereumApi
)
Sha3
(
args
*
Sha3Args
,
reply
*
interface
{})
error
{
func
(
p
*
EthereumApi
)
Sha3
(
args
*
Sha3Args
,
reply
*
interface
{})
error
{
*
reply
=
ethutil
.
Bytes2Hex
(
crypto
.
Sha3
(
ethutil
.
Hex2Bytes
(
args
.
Data
)))
*
reply
=
toHex
(
crypto
.
Sha3
(
fromHex
(
args
.
Data
)))
return
nil
return
nil
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录