FiroVM is sidechain to Firo for enable smart contract capability with virtual machine. It is support and compatible with Solidity.
FiroVM is released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT.
The main
branch is regularly built and tested, but is not guaranteed to be
completely stable. Tags are created
regularly to indicate new official, stable release versions of FiroVM.
-
fvm.conf
validatekey=BAb04pScLRHoYaNLmTFgDG1xtqTVlRzEgeXQTzvNIKQYWNhKBbbmWchat1MbA0VOT/KnNmBA01Hbz4zhcf/7KSE= signerkey=MIIBEwIBAQQgXMpMLJNgNdDO2zo1ir2O2eCcge+KSPgzgvpLANVtbwKggaUwgaICAQEwLAYHKoZIzj0BAQIhAP////////////////////////////////////7///wvMAYEAQAEAQcEQQR5vmZ++dy7rFWgYpXOhwsHApv82y3OKNlZ8oFbFvgXmEg62ncmo8RlXaT7/A4RCKj9F7RIpoVUGZxH0I/7ENS4AiEA/////////////////////rqu3OavSKA7v9JejNA2QUECAQGhRANCAAQG9OKUnC0R6GGjS5kxYAxtcbak1ZUcxIHl0E87zSCkGFjYSgW25lnIWrdTGwNFTk/ypzZgQNNR28+M4XH/+ykh
-
Update packages
sudo apt-get update
-
Install required packages
sudo apt-get install build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-all-dev libgmp-dev cmake
-
Install Berkeley DB 4.8
sudo apt-get install software-properties-common sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev
-
Install QT 5
sudo apt-get install libminiupnpc-dev libzmq3-dev sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev
Alternatively, you can use a depends build to handle dependencies.
-
Clone the source:
git clone https://github.com/
-
Build Firo-core:
Configure and build the headless Firo binaries as well as the GUI (if Qt is found).
You can disable the GUI build by passing
--without-gui
to configure../autogen.sh ./configure make make install #optional
Note that the use of a depends build necessitates passing the
--prefix
option to./configure
. -
It is recommended to build and run the unit tests:
./configure --enable-tests make check
-
After building passed output file/binaries will append in src directory
firovmd firovm-tx firovm-wallet firovm-cli
-
moving or copy binaries to /usr/local/bin for using in any directory
for testing smart contract please following instruction documentation
Testing and code review is the bottleneck for development; we get more pull requests than we can review and test on short notice. Please be patient and help out by testing other people's pull requests, and remember this is a security-critical project where any mistake might cost people lots of money.
Developers are strongly encouraged to write unit tests for new code, and to
submit new unit tests for old code. Unit tests can be compiled and run
(assuming they weren't disabled in configure) with: make check
. Further details on running
and extending unit tests can be found in /src/test/README.md.
There are also regression and integration tests, written
in Python, that are run automatically on the build server.
These tests can be run (if the test dependencies are installed) with: test/functional/test_runner.py
The Travis CI system makes sure that every pull request is built for Windows, Linux, and macOS, and that unit/sanity tests are run automatically.
Changes should be tested by somebody other than the developer who wrote the code. This is especially important for large or high-risk changes. It is useful to add a test plan to the pull request description if testing the changes is not straightforward.
This repo have been tested with third party tool
lib for rpc call and smartcontract development qtumjs
cli for smartcontract deployment solar
to config genesis on EVM chain genesis
DAO contract DGP Qtum pre-loaded contract source