diff --git a/3.x/zh_CN/docs/design/contract_directory.md b/3.x/zh_CN/docs/design/contract_directory.md index 6b5c2b7fe..c1497444c 100644 --- a/3.x/zh_CN/docs/design/contract_directory.md +++ b/3.x/zh_CN/docs/design/contract_directory.md @@ -201,14 +201,16 @@ BFS存储表生命周期主要包括创建、修改、读取,暂时不支持 #### 2.5.2 普通合约资源生命周期 - 在用户发起创建合约请求时、或者合约创建合约请求时,将会在 `/apps` 目录下创建对应的合约资源表,例如:创建合约 0x123456合约时,将会创建 `/apps/123456` 的存储表。 -- **值得注意的是:** Solidity的地址由于其不可读的性质与BFS易读可见的原则相悖,因此 `/apps`的存储表内 `/apps` Solidity地址对应的存储表不会 +- **值得注意的是:** Solidity的地址由于其不可读的性质与BFS易读可见的原则相悖,因此Solidity部署后的合约地址只生成合约存储表,其BFS元数据不会写入 `/apps` 表内。例如:用户部署合约后地址为 0x123456,链上将会为合约创建合约存储表`/apps/123456`,但并不会将元数据写入到 `/apps` 内,即用户调用`list(/apps)`,不会显示子目录有`123456`这个资源。用户后续可以通过link操作,将solidity合约地址与BFS进行绑定。 - 在用户发起创建Table合约请求时,将会在 `/tables` 目录下创建对应的合约资源表,例如:创建Table合约 t_test合约时,将会创建 `/tables/t_test` 的存储表。 - 在执行合约时,将会读取合约资源对应的存储表中的状态数据。 +- 在部署普通合约是,将会创建合约的权限数据表,详情请参考:[权限底层节点设计](./committee_design.html#id15) #### 2.5.3 合约软链接资源生命周期 - 用户可以通过 `link` 接口创建合约软链接资源,将会在`/apps` 目录下创建对应的资源,例如:调用link时参数为 Hello v1 0x123456,合约名为Hello,v1为版本号,0x123456为真实合约地址,将会创建 `/apps/Hello/v1` 合约软链接资源。 - 同样的,用户可以通过 `link` 接口覆盖写入合约软链接资源,例如:再次调用link时参数为 Hello v1 0x666888,将会覆盖写入`/apps/Hello/v1` 合约软链接资源。 +- 用户可以通过控制台的 `call` 命令直接调用合约软链接,实现对真实合约的调用。 - 用户可以通过调用 `readlink` 接口获取合约软链接的真实合约地址,在调用合约时也可以读取合约地址和ABI进一步调用。 ### 2.6 BFS主要接口实现 diff --git a/3.x/zh_CN/images/design/bfs_in_system.png b/3.x/zh_CN/images/design/bfs_in_system.png index 9be8d75ef..7816e830a 100644 Binary files a/3.x/zh_CN/images/design/bfs_in_system.png and b/3.x/zh_CN/images/design/bfs_in_system.png differ diff --git a/3.x/zh_CN/images/design/bfs_logic_structure.png b/3.x/zh_CN/images/design/bfs_logic_structure.png index d7b8f6e4a..cdbbb5b0d 100644 Binary files a/3.x/zh_CN/images/design/bfs_logic_structure.png and b/3.x/zh_CN/images/design/bfs_logic_structure.png differ