Warning

consider prefixing with an underscore: _tokenOwner
convert the identifier to snake case: token_owner
help: convert the identifier to snake case: _token_id

173 | fn validNFToken(_tokenId:u128)->bool{
| ^^^^^^^^^^^^ help: convert the identifier to snake case: valid_nftoken

146 | if(_token_owner == origin || OwnerToOperators::get((_token_owner,_origin))){
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses

i128::min_value()

pub fn checked_sub(self, rhs: i128) -> Option

u128取值unwrap
let _owner_count_u128 = _owner_count.checked_sub(1).unwrap();

事件:
Self::deposit_event(RawEvent::Transfer(se_fromnder, _to,_token_id));

函数的返回值需要时Result--- 大坑
273 | ensure!(_id_owner.,"_token_id has existed");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected (), found enum core::result::Result 这个我总是搞不对;

result::Result

origin函数中的第一个参数必须为origin
error: Implicit conversion to privileged function has been removed. First parameter of dispatch should be marked origin. For root-matching dispatch, also add ensure_root(origin)?.
--> /Users/zhouhe/blockchain/SubstrateOrg/Morning-Star-done/runtime/src/nftoken.rs:54:1

接口分几种,一种是给前端用的,一种是给其他模块用的。你这边考虑的应该是给其他模块用的,那就是一个Rust模块的接口。
可以参考Currency trait。
有什么传递参数的问题?
其他模块调用NFT模块的话有两种方法,直接依赖,或者间接极赖。
直接依赖就类似模块依赖于system module,可以直接调用system module的方法。
间接依赖就是建立一个独立的trait,Kitties模块Trait加个associated type,然后NFT模块实现这trait。
初期可以直接依赖会简单一点。

: system::Trait???

/// Abstraction over a fungible assets system.
pub trait Currency {

  • 继承的实现1
    pub trait ReservableCurrency: Currency {
  • 继承的实现2
    /// A currency whose accounts can have liquidity restrictions.
    pub trait LockableCurrency: Currency {

pub trait Time {
type Moment: SimpleArithmetic + Codec + Clone + Default + Copy;
fn now() -> Self::Moment;
}

???
pub trait Currency {}

pub trait StorageValue {
impl StorageMap for U where U: hashed::generator::StorageMap {

pub trait Codec: Decode + Encode {}

这个泛型语法你要先学习下,自己瞎试是不想的
这边假设OnTest是一个trait,那impl应该是 impl OnTest for Module {}
或者如果OnTest自己有泛型参数的话 impl OnTest for Module {}

//问题2
error[E0405]: cannot find trait Trait in this scope
--> /Users/zhouhe/blockchain/SubstrateOrg/Morning-Star/runtime/src/test.rs:13:10
|
13 | impl OnTest for Module {
| ^^^^^ not found in this scope
help: possible candidates are found in other modules, you can import them into scope

//问题3
17 | impl OnTest for Module {
| ^^^^^^ not found in this scope
help: possible candidates are found in other modules, you can import them into scope

你可能感兴趣的:(Warning)