   (hash (str name " " version " " path)))
 
 (defn make-chaincode [{:keys [name version path]}]
-  (-> (chaincode/new-builder)
-      (chaincode/set-name name)
-      (chaincode/set-version version)
-      (chaincode/set-path path)
-      (chaincode/build)))
+  (-> (chaincode-id/new-builder)
+      (chaincode-id/set-name name)
+      (chaincode-id/set-version version)
+      (chaincode-id/set-path path)
+      (chaincode-id/build)))
 
 (defn get-or-make-chaincode [chaincode]
   (general-lru-cache-read (chaincode->hash chaincode)

(defrecord OrdererOpts [name grpc-url properties]
  IChannelEndOpts
    (new-channel-end [{:keys [name grpc-url properties]} client]
    (client/new-orderer client name grpc-url properties))
  (get-channel-ends [this channel]
    (channel/get-orderers channel)))

(defrecord PeerOpts [name grpc-url properties]
  IChannelEndOpts
  (new-channel-end [{:keys [name grpc-url properties]} client]
    (client/new-peer client name grpc-url properties))
  (get-channel-ends [this channel]
    (channel/get-peers channel)))


  (atom (cache/lru-cache-factory {} :threshold 64)))

(defn make-client [msp-id name priv-key cert {:keys [roles account affiliation]}]
  (let [new-client (hf-client/create-new-instance)]
    (hf-client/set-crypto-suite new-client (crypto-suite/get-crypto-suite))
    (hf-client/set-user-context new-client 
                             (reify User
                               (getName [this] name)
                               ;; Set<String>
