Most workshops at Sub0 will require that you have set up your computer to compile Substrate.
You can use this one-liner to do many of these steps for you automatically:
curl https://getsubstrate.io -sSf | bash -s -- --fast
// initialise with: | |
// post({sender: runtime.indices.ss58Decode('F7Gh'), call: calls.demo.setPayment(1000)}).tie(console.log) | |
use parity_codec::Encode; | |
use srml_support::{StorageValue, dispatch::Result, decl_module, decl_storage}; | |
use runtime_primitives::traits::Hash; | |
use {balances, system::{self, ensure_signed}}; | |
pub trait Trait: balances::Trait {} |
use support::{decl_module, decl_storage, decl_event, StorageValue, dispatch::Result}; | |
use system::ensure_signed; | |
pub trait Trait: system::Trait { | |
type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; | |
} | |
type U8 = [u8; 1]; | |
decl_storage! { |
#![feature(prelude_import)] | |
#![no_std] | |
// Copyright 2017-2019 Parity Technologies (UK) Ltd. | |
// This file is part of Substrate. | |
// Substrate 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. |
use support::{decl_module, dispatch::Result, | |
traits::{Currency, ExistenceRequirement, WithdrawReason}}; | |
use system::ensure_signed; | |
// v1.0 branch | |
// use runtime_primitives::traits::As; | |
pub trait Trait: balances::Trait {} | |
decl_module! { |
use support::{decl_module, decl_storage, decl_event, StorageValue, dispatch::Result, ensure, StorageMap}; | |
use system::ensure_signed; | |
pub trait Trait: system::Trait { | |
type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; | |
} | |
decl_storage! { | |
trait Store for Module<T: Trait> as calculator { | |
FinalResult: u64; |
use support::{decl_module, decl_storage, StorageValue, dispatch::Result}; | |
use system::ensure_signed; | |
use parity_codec::{ Encode, Decode }; | |
#[derive(Encode, Decode, Clone, PartialEq)] | |
#[cfg_attr(feature = "std", derive(Debug))] | |
pub enum Choices { | |
None, | |
One, | |
Two, |
use support::{decl_module, decl_storage, decl_event, StorageValue, dispatch::Result}; | |
use system::ensure_signed; | |
use rstd::prelude::*; | |
use rstd::collections::btree_set::BTreeSet; | |
pub trait Trait: system::Trait { | |
type Event: From<Event<Self>> + Into<<Self as system::Trait>::Event>; | |
} | |
decl_storage! { |
{ | |
"name": "Local Testnet", | |
"id": "local_testnet", | |
"bootNodes": [ | |
"/ip4/127.0.0.1/tcp/30333/p2p/QmSidBKvi8CcbqK5TZdAq1cxFBJAYwUWmg6VwwPtVK2eyT" | |
], | |
"telemetryEndpoints": null, | |
"protocolId": null, | |
"consensusEngine": null, | |
"properties": null, |
/// A runtime module that interprets a sipmlified pi calculus | |
use support::{decl_module, decl_storage, decl_event, StorageMap, dispatch::Result, ensure}; | |
use system::ensure_signed; | |
use rstd::boxed::Box; | |
use codec::{ Encode, Decode }; | |
use sr_primitives::traits::Hash; | |
/// All the types of processes in our calculus |