code: def sign(self, msg):
          '''
          msg-->str or bytes
          Returns-->bytes
          '''
          if self.__signingkey is None:
              raise KeyTypeError('Wrong key type for operation')
          sig = ffi.new(C_SIGNATURE)
          lib.ed25519_SignMessage(
              sig, self.__signingkey, ffi.NULL, msg, len(msg))
          return ffi.get_bytes(sigf sign(self, msg):
          '''
          msg-->str or bytes
          Returns-->bytes
          '''
          if self.__signingkey is None:
              raise KeyTypeError('Wrong key type for operation')
          sig = ffi.new(C_SIGNATURE)
          lib.ed25519_SignMessage(
              sig, self.__signingkey, ffi.NULL, msg, len(msg))
          return ffi.get_bytes(sig)
docs: msg-->str or bytes
          Returns-->bytes