plugeth/cmd/ethereum/cmd.go

56 lines
1.4 KiB
Go
Raw Normal View History

2015-01-06 11:13:57 +00:00
/*
This file is part of go-ethereum
2014-10-23 13:48:53 +00:00
2015-01-06 11:13:57 +00:00
go-ethereum is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
go-ethereum is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @authors
* Jeffrey Wilcke <i@jev.io>
*/
package main
import (
"io/ioutil"
"os"
"github.com/ethereum/go-ethereum/cmd/ethereum/repl"
2014-10-31 13:20:11 +00:00
"github.com/ethereum/go-ethereum/cmd/utils"
2014-12-14 18:23:48 +00:00
"github.com/ethereum/go-ethereum/eth"
"github.com/ethereum/go-ethereum/javascript"
)
func InitJsConsole(ethereum *eth.Ethereum) {
2014-07-15 18:34:25 +00:00
repl := ethrepl.NewJSRepl(ethereum)
2014-06-26 17:41:36 +00:00
go repl.Start()
utils.RegisterInterrupt(func(os.Signal) {
repl.Stop()
})
}
2014-06-26 17:41:36 +00:00
func ExecJsFile(ethereum *eth.Ethereum, InputFile string) {
file, err := os.Open(InputFile)
if err != nil {
2014-10-31 11:56:05 +00:00
clilogger.Fatalln(err)
2014-06-26 17:41:36 +00:00
}
content, err := ioutil.ReadAll(file)
if err != nil {
2014-10-31 11:56:05 +00:00
clilogger.Fatalln(err)
2014-06-26 17:41:36 +00:00
}
re := javascript.NewJSRE(ethereum)
2014-06-26 17:41:36 +00:00
utils.RegisterInterrupt(func(os.Signal) {
re.Stop()
})
re.Run(string(content))
}