plugeth/cmd/ethereum/cmd.go

53 lines
1.5 KiB
Go
Raw Normal View History

2014-10-23 13:48:53 +00:00
// Copyright (c) 2013-2014, Jeffrey Wilcke. All rights reserved.
//
// This library 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 2.1 of the License, or (at your option) any later version.
//
// This library 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 this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
// MA 02110-1301 USA
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))
}