code: def crypto_scalarmult_ed25519_base(n):
      
      ensure(isinstance(n, bytes) and
             len(n) == crypto_scalarmult_ed25519_SCALARBYTES,
             'Input must be a {} long bytes sequence'.format(
             'crypto_scalarmult_ed25519_SCALARBYTES'),
             raising=exc.TypeError)
  
      q = ffi.new("unsigned char[]", crypto_scalarmult_ed25519_BYTES)
  
      rc = lib.crypto_scalarmult_ed25519_base(q, n)
      ensure(rc == 0,
             'Unexpected library error',
             raising=exc.RuntimeError)
  
      return ffi.buffer(q, crypto_scalarmult_ed25519_BYTES)[:]
docs: Computes and returns the scalar product of a standard group element and an
      integer ``n`` on the edwards25519 curve.
  
      :param n: a :py:data:`.crypto_scalarmult_ed25519_SCALARBYTES` long bytes
                sequence representing a scalar
      :type n: bytes
      :return: a point on the edwards25519 curve, represented as a
               :py:data:`.crypto_scalarmult_ed25519_BYTES` long bytes sequence
      :rtype: bytes