| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /* This file is part of DarkFi (https://dark.fi)
- *
- * Copyright (C) 2020-2024 Dyne.org foundation
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program 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 Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- use darkfi::{
- blockchain::{Blockchain, BlockchainOverlay},
- runtime::vm_runtime::Runtime,
- util::time::{TimeKeeper, Timestamp},
- };
- use darkfi_sdk::{crypto::ContractId, pasta::pallas};
- fn init_logger() {
- let mut cfg = simplelog::ConfigBuilder::new();
- cfg.add_filter_ignore("sled".to_string());
- simplelog::TermLogger::init(
- simplelog::LevelFilter::Debug,
- cfg.build(),
- simplelog::TerminalMode::Mixed,
- simplelog::ColorChoice::Auto,
- )
- .unwrap();
- }
- fn main() {
- init_logger();
- let sled_db = sled::Config::new().temporary(true).open().unwrap();
- let blockchain = Blockchain::new(&sled_db).unwrap();
- let overlay = BlockchainOverlay::new(&blockchain).unwrap();
- let timekeeper = TimeKeeper::new(Timestamp::current_time(), 10, 90, 0);
- let wasm_bytes =
- include_bytes!("../target/wasm32-unknown-unknown/release/darkfi_dummy_contract.wasm");
- let contract_id = ContractId::from(pallas::Base::from(69));
- let mut runtime = Runtime::new(wasm_bytes, overlay, contract_id, timekeeper).unwrap();
- match runtime.deploy(&[]) {
- Ok(()) => {}
- Err(e) => println!("Error running deploy: {:#?}", e),
- }
- match runtime.exec(&[]) {
- Ok(_) => {}
- Err(e) => println!("Error running exec: {:#?}", e),
- }
- }
|