区块链本身的所有数据不可篡改,【18I链上合约-259l开发系统3365】旨因此部署在区块链上的智能合约代码以及运行产生的数据输出也是不可篡改的,运行智能合约的节点不必担心其他节点恶意修改代码与数据。 1.2.3永久运行 支撑区块链网络... 智能合约是在区块链上运行的计算机代码,其中包含一组规则,在该规则下该智能合约的各方同意彼此进行交互。如果满足预定义规则,协议将自动执行。 智能合约代码促进、验证并强制协商或履行协议或交易。这是分布式自动化的最简单形式。 它是一种涉及数字资产和两方或多方的机制,其中部分或所有参与者将资产存入智能合约,并根据某些数据自动在这些参与者之间重新分配资产,在合约开始时,这些数据是未知的。 testcc.hpp: /**
- @file
- @copyright defined in eos/LICENSE.txt */ #include <eosiolib/eosio.hpp>
testcc.cpp: #include <eosiolib/eosio.hpp>
using namespace eosio;
class [[eosio::contract("hello")]] hello : public contract { public: using contract::contract;
[[eosio::action]]
void hi( name user ) {
print( "Hello, ", user);
}
};
EOSIO_DISPATCH( hello, (hi)) step1. 编译合约
eosio-cpp -I include -o hello.wasm hello.cpp --abigen
step2. 创建账户
cleos create account eosio hello EOS7qyuXyBtqMYLYBveB3APTiWeyu1d6Z4mTLX1mMP5ZU3kWUqXcJ -p eosio@active # -p指定账户的权限
step3. 部署合约
cleos set contract hello CONTRACTS_DIR/hello -p hello@active
step4. 调用合约
cleos push action hello hi '["bob"]' -p alice@active